首页 > 解决方案 > 通过删除一列从现有数据框中创建具有如此多列的新数据框

问题描述

我有一个名为 df 的数据框,我需要从 df 中删除一列数量并将其分配给一个名为 df1 的新数据框,但下面出现错误。我怎样才能解决这个问题?请注意,下面是一个小例子。在我的真实数据集中,我确实有 28 列,我无法输入他们的名字来创建一个新的,谢谢。

df=  [['A',100,10000]
    ,['A',120,15000]
    ,['A',300,50000]
    ,['B',100,180000]
    ,['B',80,200000]]


df = pd.DataFrame(df, columns = ['group','size','amount']) 
df1=df.drop('amount',axis=1,inplace=True)
df1.head() 

“AttributeError:‘NoneType’对象没有属性‘head’”

标签: pandasdataframenew-operator

解决方案


inplace操作 return None,所以需要省略 assign back:

df.drop('amount',axis=1,inplace=True)
df.head()

或删除inpalce=True并重新分配:

df = df.drop('amount',axis=1)
df.head()

推荐阅读