Python 熊猫:删除多个列,这些列在列表中命名并分配给新的数据帧
我有一个包含多个列的数据框:Python 熊猫:删除多个列,这些列在列表中命名并分配给新的数据帧,python,pandas,Python,Pandas,我有一个包含多个列的数据框: df pymnt_plan ... settlement_term days 现在,根据以下列表,我知道要删除/删除哪些列: mylist = ['pymnt_plan', 'recoveries', 'collection_recovery_fee', 'policy_code', 'num_tl_120dpd_2m', 'hardship_flag', 'debt_settlement_fla
df
pymnt_plan ... settlement_term days
现在,根据以下列表,我知道要删除/删除哪些列:
mylist = ['pymnt_plan',
'recoveries',
'collection_recovery_fee',
'policy_code',
'num_tl_120dpd_2m',
'hardship_flag',
'debt_settlement_flag_date',
'settlement_status',
'settlement_date',
'settlement_amount',
'settlement_percentage',
'settlement_term']
如何删除多个列,这些列的名称在列表中并分配给新的数据帧?在这种情况下:
df2
days
你能行
new_df = df[list]
df = df.drop(columns=list)
在0.20.3中,使用“df=df.drop(columns=list)”我得到: 因此,您可以使用此选项:
df = df.drop(axis=1, labels=list)
首先,不要将变量名与“list”一起使用。l1=['col1','col1'…],
df=df.drop(l1,axis=1)
应该可以工作。用小写字母l
命名变量list
是危险的,因为在尝试使用list()时可能会出现问题
函数,稍后在代码中使用。@BenG tw感谢您的建议,您也可以在此处找到解决方案的可能副本:虽然这应该可以工作,但Pandas 0.20.3给出了:TypeError:drop()得到了一个意外的关键字参数“columns”
df = df.drop(axis=1, labels=list)