作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个像这样仔细排序的数据框:
x = pd.DataFrame({'col1':['b', 'e','e', 'g','g', 'f','f'],
'col2':['f', 'g','f', 'f','e', 'g','e'],
'col3':[ 1 , 7 , 2 , 6 , 7 , 20, 5 ]})
我想将各组汇总为每行一行,保留顺序
names, totals, fs = zip(* list( (name, total(group), f(group)) for name, group in x.groupby('col1')) )
out = pd.DataFrame({'lang':names,
'total':totals,
'partners':tails})
但是在 out
行按 col1
排序。而x.groupby('col1').heads()
以正确的顺序生成所有内容,如 [name for name, _ in x.groupby('col1')]
所示进行迭代返回['b', 'e', 'f', 'g']
何时“f”应位于“g”后面
如何在不排序的情况下循环遍历组?
最佳答案
正如评论中所讨论的,您所需要的只是
groupby("col1", sort=False)
取自 the documentation :
sort : boolean, default True
Sort group keys. Get better performance by turning this off. Note this does not influence the order of observations within each group. groupby preserves the order of rows within each group.
关于python - 如何在不排序的情况下迭代组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48029070/
我是一名优秀的程序员,十分优秀!