gpt4 book ai didi

当只有一个值分组时,Pandas groupby

转载 作者:行者123 更新时间:2023-12-04 18:31:35 24 4
gpt4 key购买 nike

我想计算给定变量的累计计数。所以我希望下面的代码可以工作

import pandas as pd
import numpy as np

df = pd.DataFrame.from_records({'x': [0, 1, 0, 1, 1]})
df2 = pd.DataFrame.from_records({'x': [0, 0, 0, 0, 0]})

result = df.groupby('x').apply(lambda x: pd.Series(np.arange(len(x)), index=x.index)).reset_index(level=0, drop=True).sort_index()
assert (result == [0, 0, 1, 1, 2]).all()

result2 = df2.groupby('x').apply(lambda x: pd.Series(np.arange(len(x)))).reset_index(level=0, drop=True).sort_index()
assert (result2 == [0, 1, 2, 3, 4]).all()

第一个断言为 True 但第二个断言不是。为什么?

最佳答案

这似乎是一个悬而未决的问题。

参见 BUG: inconsistent return format of Dataframe group apply function .

解决方法可以是:

assert (result2.values == [0, 1, 2, 3, 4]).all()

关于当只有一个值分组时,Pandas groupby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50991496/

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