gpt4 book ai didi

python - 没有 MultiIndex 的 Pandas GroupBy

转载 作者:太空宇宙 更新时间:2023-11-04 04:46:50 26 4
gpt4 key购买 nike

如果我设置以下 DF 和字典(pandas 0.22.0):

kwargs = {
'index': ['11-1000', '11-1001', '11-1002'],
'data': np.random.randint(5, size=(3,2)),
'columns': ['A', 'B']
}
df = pd.DataFrame(**kwargs)

df A B
>> 11-1000 2 1
>> 11-1001 1 4
>> 11-1002 2 3

by = {'11-1001': '11-1000', '11-1002': '11-1000'}

想按这个字典分组,结果好像不对:

df.groupby(by=by, level=0).get_group('11-1000')
>> A B
>> 11-1000 2 1

当我期待类似的东西时

>>         A  B
>> 11-1001 1 4
>> 11-1002 2 3

不过,如果我有一个 MultIndex 开始:

df = df.set_index('A", append=True)
df
>> B
>> A
>> 11-1000 2 1
>> 11-1001 1 4
>> 11-1002 2 3

然后好像 groupby 给了我我想要的东西:

df.groupby(by=by, level=0).get_group('11-1000')
>> B
>> A
>> 11-1001 1 4
>> 11-1002 2 3

对此有什么想法吗?我几乎总是将 groupby 与 MultiIndex 一起使用,所以我以前从未见过这种行为,也不确定它是否正常。如果没有 MultiIndex,我如何才能获得我想要的行为?

最佳答案

我相信如果没有 MultiIndex,level 参数的行为并不是特别明确。

传递 level=None(这是默认设置)会得到您想要的行为。

关于python - 没有 MultiIndex 的 Pandas GroupBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49389835/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com