为了账号安全,请及时绑定邮箱和手机立即绑定

根据列表删除熊猫列

根据列表删除熊猫列

跃然一笑 2022-09-13 17:29:46
我有一个列表:my_list = ['a', 'b']和熊猫数据帧:d = {'a': [1, 2], 'b': [3, 4], 'c': [1, 2], 'd': [3, 4]} df = pd.DataFrame(data=d)我该怎么做才能删除基于列表中的列,在这种情况下,删除列和dfmy_listab
查看完整描述

3 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

这很简单:

df = df.drop(columns=my_list)

drop通过指定列名列表来删除列


查看完整回答
反对 回复 2022-09-13
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

您也可以选择所需的列:

cols_of_interest = ['c', 'd']
df = df[cols_of_interest]

如果要删除一系列列:例如 2 到 8,则可以使用:

df.drop(df.iloc[:,2:8].head(0).columns, axis=1)


查看完整回答
反对 回复 2022-09-13
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

这是一个使用列表理解的简洁脚本:[df.pop(x) 表示my_list中的 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 |


查看完整回答
反对 回复 2022-09-13
  • 3 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号