【问题标题】:Unable to drop a column from pandas dataframe [duplicate]无法从熊猫数据框中删除一列[重复]
【发布时间】:2016-11-12 07:18:25
【问题描述】:

我已将 Excel 工作表导入 pandas。它有 7 列是数字,1 列是字符串(一个标志)。

将标志转换为分类变量后,我试图从 Pandas 数据框中删除字符串列。但是,我做不到。

代码如下:

[In] parts_median_temp.columns

[Out] Index([u'PART_NBR', u'PRT_QTY', u'PRT_DOL', u'BTS_QTY', u'BTS_DOL', u'Median', u'Upper_Limit', u'Flag_median'], dtype='object')

我要删除的列是“Flag_median”。

[In] parts_median_temp.drop('Flag_median') 

[Out] ...ValueError: labels ['Flag_median'] not contained in axis

帮我从 Pandas 数据框中删除 Flag_median 列。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    您必须使用 inplaceaxis 参数:

    parts_median_temp.drop('Flag_median', axis=1, inplace=True)
    

    'inplace'的默认值为False,axis'的默认值为0。 axis=0 表示按索引删除,而axis=1 表示按列删除。

    【讨论】:

    • 我想知道为什么这不是正确的答案。因为我试过pandas,但这是对我有用的。
    • 或parts_median_temp.drop(columns='Flag_median', inplace=True)
    【解决方案2】:

    你可以试试这个:

    parts_median_temp = parts_median_temp.drop('Flag_median', axis=1)
    

    【讨论】:

    • 这没用。必须包括 inplace=True 才能使其工作。谢谢。
    • @Learnerbeaver 它有效,您只需更改数据框,以便将 parts_median_temp = 放在 drop 函数前面。所以,我编辑了我的答案。我认为这很明显。
    猜你喜欢
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 2022-11-01
    • 2016-11-12
    • 1970-01-01
    相关资源
    最近更新 更多