gpt4 book ai didi

pandas - 从 Pandas DataFrame 子集索引

转载 作者:行者123 更新时间:2023-12-04 18:02:55 28 4
gpt4 key购买 nike

我有一个带有列的 DataFrame [A, B, C, D, E, F, G, H] .

已使用列创建索引 [D, G, H] :

>>> print(dgh_columns)
Index(['D', 'G', 'H'], dtype='object')

如何检索原始数据帧 没有 栏目 D, G, H ?

是否有索引子集操作?

理想情况下,这将是:
df[df.index - dgh_columns]

但这似乎不起作用

最佳答案

我想你可以用 Index.difference :

df[df.columns.difference(dgh_columns)]

样本:
df = pd.DataFrame({'A':[1,2,3],
'B':[4,5,6],
'C':[7,8,9],
'D':[1,3,5],
'E':[7,8,9],
'F':[1,3,5],
'G':[5,3,6],
'H':[7,4,3]})

print (df)
A B C D E F G H
0 1 4 7 1 7 1 5 7
1 2 5 8 3 8 3 3 4
2 3 6 9 5 9 5 6 3

dgh_columns = pd.Index(['D', 'G', 'H'])
print (df[df.columns.difference(dgh_columns)])
A B C E F
0 1 4 7 7 1
1 2 5 8 8 3
2 3 6 9 9 5

Numpy 解决方案 numpy.setxor1d numpy.setdiff1d :
dgh_columns = pd.Index(['D', 'G', 'H'])
print (df[np.setxor1d(df.columns, dgh_columns)])
A B C E F
0 1 4 7 7 1
1 2 5 8 8 3
2 3 6 9 9 5
dgh_columns = pd.Index(['D', 'G', 'H'])
print (df[np.setdiff1d(df.columns, dgh_columns)])
A B C E F
0 1 4 7 7 1
1 2 5 8 8 3
2 3 6 9 9 5

关于pandas - 从 Pandas DataFrame 子集索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40467378/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com