微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 选择/排除pandas中的列集

参见英文答案 > Delete column from pandas DataFrame                                    14个
我想根据列选择从现有数据框创建视图或数据框.

例如,我想从数据帧df1创建一个数据帧df2,它保存除了其中两个列之外的所有列.我尝试了以下操作,但它不起作用:

import numpy as np
import pandas as pd

# Create a dataframe with columns A,B,C and D
df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))

# Try to create a second dataframe df2 from df with all columns except 'B' and D
my_cols = set(df.columns)
my_cols.remove('B').remove('D')

# This returns an error ("unhashable type: set")
df2 = df[my_cols]

我究竟做错了什么?也许更一般地说,大熊猫有哪些机制支持从数据框中挑选和排除任意列的列?

解决方法:

您可以删除不需要的列或选择您需要的列

# Using DataFrame.drop
df.drop(df.columns[[1, 2]], axis=1, inplace=True)

# drop by Name
df1 = df1.drop(['B', 'C'], axis=1)

# Select the ones you want
df1 = df[['a','d']]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐