我有一个列表:
my_list = ['a', 'b']
和一个熊猫数据框:
d = {'a': [1, 2], 'b': [3, 4], 'c': [1, 2], 'd': [3, 4]}
df = pd.DataFrame(data=d)
如何根据列表df
删除my_list
中的列,在这种情况下,删除列a
和b
答案 0 :(得分:2)
这很简单:
df = df.drop(columns=my_list)
drop
通过指定列名列表来删除列
答案 1 :(得分:0)
这是一个使用列表理解的简洁脚本:[在my_list中x的df.pop(x)]
my_list = ['a', 'b']
d = {'a': [1, 2], 'b': [3, 4], 'c': [1, 2], 'd': [3, 4]}
df = pd.DataFrame(data=d)
print(df.to_markdown())
| | a | b | c | d |
|---:|----:|----:|----:|----:|
| 0 | 1 | 3 | 1 | 3 |
| 1 | 2 | 4 | 2 | 4 |
[df.pop(x) for x in my_list]
print(df.to_markdown())
| | c | d |
|---:|----:|----:|
| 0 | 1 | 3 |
| 1 | 2 | 4 |