GroupBy列cumsum返回bool而不是int

时间:2018-06-04 08:27:42

标签: python pandas

df = pd.DataFrame(
    {'ts':[True, False],
     'user':['x', 'y'],
    'id': [1,2]})

df.set_index('id', inplace=True)

df.groupby('user').ts.cumsum()

输出

id
1     True
2    False
Name: ts, dtype: bool
列上的 GroupBy cumsum 如果组大小为1,则产生bool而不是int?如果列为真,我希望它返回1,如果单元格为假,则返回零。不管怎么说 sum 操作都会返回一个整数吗?

编辑:

另一方面,如果大小为1,数据帧上的cumsum会返回int。这种不一致背后是否有任何理由?

df = pd.DataFrame(
    {'ts':[False],
     'user':['x'],
    'id': [1]})

df.set_index('id', inplace=True)

df.ts.cumsum()

输出

id
1    0
Name: ts, dtype: int64

0 个答案:

没有答案