我有一個帶有無關資訊的 Pandas 資料框 df。無關資訊存盤在名稱包含“PM”的列中。我想洗掉這些列,但我不確定如何洗掉。下面是我嘗試做到這一點。但是,我收到此錯誤訊息:AttributeError: 'numpy.float64' object has no attribute 'PM'。我不確定如何解釋此錯誤訊息。我也不明白為什么訊息中提到了 numpy,因為資料幀 df 是一個熊貓物件。
for j in range(0,len(df.columns)-1):
df.iloc[0,j].str.contains("PM"):
df.drop(j, axis=1)
AttributeError: 'numpy.float64' 物件沒有屬性 'PM'
uj5u.com熱心網友回復:
使用空資料框
df = pd.DataFrame(columns=['a','b','ABCPMYXZ','QWEPMQWE','c','d'])
df
df = df[[i for i in df.columns if not 'PM' in i]]
df

uj5u.com熱心網友回復:
使用regex有filter:
df.filter(regex='^((?!PM).)*$')
這是這里最短的解決方案。
uj5u.com熱心網友回復:
根據我的理解,您想要洗掉列,因此最初您應該將所有列名存盤在一個串列中。接下來從串列中洗掉所有不包含 PM 的元素。
columns = list(df.columns.values)
columns = [col for col in columns if 'PM' in col]
df.drop(columns=columns, axis=1, inplace=True)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/325889.html
上一篇:熊貓iloc&loc&多索引
