4 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個贊
嗯首先你正在使用的線
dffm = dffm.drop(['High'], axis=1, inplace=True)
如果成功,將不返回任何內(nèi)容,因?yàn)榫偷貥?biāo)志意味著它將對當(dāng)前數(shù)據(jù)幀執(zhí)行操作。
請參閱: https ://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.drop.html
嘗試 :
dffm.drop(columns=['High'], axis=1, inplace=True)
如果這不起作用,您需要查看您的數(shù)據(jù)框并查看列類型,也許它不是字符串,這是一個很長的鏡頭,但有時 csvs 字符串會更改為字節(jié)字符串類型。(您會看到一個 b"stringvalue")請參閱: 字符串和字節(jié)字符串有什么區(qū)別?

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個贊
您可能會收到此錯誤,因?yàn)槟谑褂?inplace=True 并同時嘗試將返回的 DataFrame 保存在 dffm 中。但是,這樣做是不正確的,因?yàn)楫?dāng)您打開 inplace 標(biāo)志時,更改就地完成并且它返回 None。您可以在 pandas.DataFrame 的 drop 操作文檔中閱讀它https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.drop.html
您可以使用從操作返回的數(shù)據(jù)框覆蓋數(shù)據(jù)框的一般方法來做到這一點(diǎn)。
dffm = dffm.drop('High', axis=1)
或者你可以正確地使用 inplace 標(biāo)志并這樣做,
dffm.drop('High', axis=1, inplace=True)

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個贊
請嘗試以下操作
# you can use columns parameter
data = dffm.drop(columns="High")
# when using inplace=True, you don't need to re-assign the dataframe ,
# as it directly modifies the datafame
dffm.drop("High", axis=1, inplace=True).

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個贊
錯誤的可能原因是該列確實(shí)不存在,因此請檢查:
('High' in dffm.columns)
例如,如果結(jié)果False
為列名中使列名不同的空格。
添加回答
舉報