python - 从 Pandas 中的 DataFrame 中删除列的范围

标签 python pandas dataframe jupyter-notebook multiple-columns

我有一个 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=1drop默认是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/

相关文章:

python - Flask 应用程序中 CSS 文件的 404 错误

python - 如何使用 dask 读取 csv 并处理行?

python - 迭代多索引 Pandas DataFrame 以按特定索引级别进行规范化

python - 在python中将列的每个值从str转换为list

python - 在滚动窗口上的 pandas 数据框上应用自定义函数

python - LPTHW :Ex48 Unit test(using nosetests), 类、方法参数类型错误

python - 将 2d numpy 数组分配给 pandas DataFrame 时的意外行为

python - 使用 pandas read_csv 缺少数据

python - 如何在值之后命名 python 变量?

python - 在 pandas dataframe 中使用 np.where 或其他广播技术