gpt4 book ai didi

python - 按列值分组并将其设置为 Pandas 中的索引

转载 作者:行者123 更新时间:2023-11-28 21:04:14 63 4
gpt4 key购买 nike

我有一个如下所示的数据框 df1:

df1 = pd.DataFrame({'A':[0,5,4,8,9,0,7,6],
'B':['a','s','d','f','g','h','j','k'],
'C':['XX','XX','XX','YY','YY','WW','ZZ','ZZ']})

我的目标是根据 C 列中包含的值对元素进行分组,以便具有相同值的行具有相同的索引(必须包含 C< 中存储的值)。因此输出应该是这样的:

    A  B   
XX 0 a
5 s
4 d
YY 8 f
9 g
WW 0 h
ZZ 7 j
6 k

我尝试使用命令 df.groupby('C') 但它返回以下对象:

<pandas.core.groupby.DataFrameGroupBy object at 0x000000001A9D4860>

你能建议我一个优雅而聪明的方法来实现我的目标吗?

注意:我认为我的问题在某种程度上与多索引相关

最佳答案

看来你需要DataFrame.set_index

df2 = df1.set_index('C')
print (df2)
A B
C
XX 0 a
XX 5 s
XX 4 d
YY 8 f
YY 9 g
WW 0 h
ZZ 7 j
ZZ 6 k

print (df2.loc['XX'])
A B
C
XX 0 a
XX 5 s
XX 4 d

如果需要 CA 列的 MultiIndex:

df3 = df1.set_index(['C', 'A'])
print (df3)
B
C A
XX 0 a
5 s
4 d
YY 8 f
9 g
WW 0 h
ZZ 7 j
6 k

print (df3.loc['XX'])
B
A
0 a
5 s
4 d

关于python - 按列值分组并将其设置为 Pandas 中的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45546065/

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