我正在尝试将数据框与两列分组,并避免使用“sort = False”进行默认排序。但是,我无法实现这一目标。
这是简化的示例
df = pd.DataFrame([
['zebra', 1, 10],
['zebra', 2, 10],
['apple', 3, 20],
['apple', 4, 20],
],
columns=['ColA','ColB','ColC'])
Run Code Online (Sandbox Code Playgroud)
因此 df 是
ColA ColB ColC
0 zebra 1 10
1 zebra 2 10
2 apple 3 20
3 apple 4 20
Run Code Online (Sandbox Code Playgroud)
我正在使用 pandas (1.0.3) groupby 并禁用键排序
df_agg = df.groupby(by=['ColA','ColB'], sort = False)
df_agg.groups
Run Code Online (Sandbox Code Playgroud)
结果是
{('apple', 3): Int64Index([2], dtype='int64'),
('apple', 4): Int64Index([3], dtype='int64'),
('zebra', 1): Int64Index([0], dtype='int64'),
('zebra', 2): Int64Index([1], dtype='int64')}
Run Code Online (Sandbox Code Playgroud)
与“sort = True”相同(默认)
但是,我想要的是如下
{
('zebra', 1): Int64Index([0], …Run Code Online (Sandbox Code Playgroud)