作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我尝试将我的数据框拆分成组
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/
我是一名优秀的程序员,十分优秀!