pandas
groupby().diff()
操作不遵守默认的index=True
参数,并且不使用groupby
中的键作为索引。
与其他聚合函数不同,例如
groupby().sum()
或 groupby().mean()
。我想知道原因。
groupby.diff
是一个变换函数,因此它保持原始形状和索引不变。本质上与df.groupby('group').transform(lambda g: g.diff())
相同:
df = pd.DataFrame({'group': list('AAABBB'), 'value': [1,2,3,4,5,6]})
## aggregation
df.groupby('group').sum()
# value
# group
# A 6
# B 15
## transformation
df.groupby('group').diff()
# or
df.groupby('group').transform(lambda g: g.diff())
# value
# 0 NaN
# 1 1.0
# 2 1.0
# 3 NaN
# 4 1.0
# 5 1.0