我有一个 dataframe
,可以使用 df._get_numeric_data()
列出我想删除的列。
如果我写
for df.column in df._get_numeric_data():
print(df.column)
我将获得一个列表,其中包含我要删除的字符串类型的所有列。
Unnamed: 2
Unnamed: 4
Unnamed: 6
Unnamed: 8
Unnamed: 10
Unnamed: 12
Unnamed: 13
Unnamed: 15
Unnamed: 19
Unnamed: 21
Unnamed: 22
Unnamed: 24
Unnamed: 26
Unnamed: 28
Week Ending
Unnamed: 31
Unnamed: 34
Unnamed: 35
Unnamed: 37
Unnamed: 42
Unnamed: 47
我正在尝试弄清楚如何一次性删除所有这些列。我试过了
for df.column in df._get_numeric_data():
df.drop(df.column)
但是报错:
KeyError: "['Unnamed: 2'] not found in axis"
我尝试了一些其他的东西,并且认为我已经不远了,但是关于 df.drop(df.column)
的一些东西是不正确的。有什么建议吗?
最佳答案
你应该添加axis=1
,drop
默认是drop index
for df.column in df._get_numeric_data():
df.drop(df.column,axis=1)
也不需要循环
df=df.drop(df._get_numeric_data().column,axis=1)
关于python - 从 Pandas 中的 DataFrame 中删除列的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58917703/