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