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)