我完全被答案困惑了。这是怎么回事???
我的意思是,当我groupby('user')
不应该结果时,按用户分组?
无论我使用什么功能(平均值,总和等),我都希望得到这样的结果:
aa=pd.DataFrame([{'user':'F','time':0},
{'user':'T','time':0},
{'user':'T','time':0},
{'user':'T','time':1},
{'user':'B','time':1},
{'user':'K','time':2},
{'user':'J','time':2},
{'user':'T','time':3},
{'user':'J','time':4},
{'user':'B','time':4}])
aa2=aa.groupby('user')['time'].sum()
print(aa2)
user
B 5
F 0
J 6
K 2
T 4
Name: time, dtype: int64
diff()如何使用前一个在每个组中返回每行的差异?
aa['diff']=aa.groupby('user')['time'].diff()
print(aa)
time user diff
0 0 F NaN
1 0 T NaN
2 0 T 0.0
3 1 T 1.0
4 1 B NaN
5 2 K NaN
6 2 J NaN
7 3 T 2.0
8 4 J 2.0
9 4 B 3.0
更重要的是,结果如何不是“用户”值的唯一列表? 我发现许多使用groupby.diff()的答案,但没有一个详细解释它。对我来说非常有用,并希望其他人能够理解它背后的机制。感谢。