微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – Pandas Groupby Agg函数中的列顺序

是否有自动方法来维护返回的数据帧的列(‘C’,’B’,’A’)的顺序?

g = df.groupby(['people'])
g['people'].agg({'C' : len,
                 'B' : len,
                 'A' : len,
                })

这将返回A,B,C而不是C,B,A的列.

我只能找到示例,但不能找到agg函数本身的文档.

这似乎是一种解决方法

g = df.groupby(['people'])
g['people'].agg({'C' : len,
                 'B' : len,
                 'A' : len,
                }).reindex_axis(['C','B','A'], axis=1)

解决方法:

OrderedDict与pandas-0.18.0-py2.7令人惊讶地工作:

from collections import OrderedDict
g = df.groupby(['people'])
g['people'].agg( OrderedDict([
                 ('C' , len),
                 ('B' , len),
                 ('A' , len),
                ]) )

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐