【发布时间】:2014-11-14 21:04:25
【问题描述】:
是否有一种自动方式来维护返回的数据帧的列('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 - Python(默认)字典并不意味着存储键顺序(这就是创建
OrderedDict的原因)。