gpt4 book ai didi

python - 如何一步重置所有组的DataFrame索引?

转载 作者:太空狗 更新时间:2023-10-29 18:18:42 25 4
gpt4 key购买 nike

我尝试将我的数据框拆分成组

df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
'foo', 'bar', 'foo', 'foo'],
'B' : ['1', '2', '3', '4',
'5', '6', '7', '8'],
})

grouped = df.groupby('A')

我有 2 组

     A  B
0 foo 1
2 foo 3
4 foo 5
6 foo 7
7 foo 8

A B
1 bar 2
3 bar 4
5 bar 6

现在我想分别为每个组重置索引

print grouped.get_group('foo').reset_index()
print grouped.get_group('bar').reset_index()

终于得到结果了

     A  B
0 foo 1
1 foo 3
2 foo 5
3 foo 7
4 foo 8

A B
0 bar 2
1 bar 4
2 bar 6

有没有更好的方法来做到这一点? (例如:自动为每个组调用一些方法)

最佳答案

as_index=False 传递给 groupby,那么你不需要 reset_index 来使 groupby-d 列再次成为列:

In [11]: grouped = df.groupby('A', as_index=False)

In [12]: grouped.get_group('foo')
Out[12]:
A B
0 foo 1
2 foo 3
4 foo 5
6 foo 7
7 foo 8

注意:正如所指出的(并在上面的示例中看到),上面的索引不是 [0, 1, 2, ...],我声明这在实践中无关紧要——如果确实如此,你将不得不经历一些奇怪的麻烦——它会变得更冗长、可读性更差、效率更低……

关于python - 如何一步重置所有组的DataFrame索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22407798/

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