是否可以通过python数据框对索引进行分组?
X和Time是索引,我喜欢得到两件事:
df:
X Y Time
1 A 2018-08-20 04:00:00.242180
A 2018-08-20 04:00:01.242180
A 2018-08-20 04:00:10.242180
2 B 2018-08-20 04:01:00.242180
B 2018-08-20 04:00:00.242180
B 2018-08-20 04:00:00.242180
B 2018-08-20 04:03:00.242180
3 C 2018-08-20 04:03:00.242180
C 2018-08-20 04:04:00.242180
C 2018-08-20 04:05:01.242180
4 A 2018-08-20 04:00:00.242180
A 2018-08-20 04:00:05.242180
A 2018-08-20 04:01:10.242180
1个计数区分X和groupby Y的数量
OUT: Y X_count
A 2
B 1
C 1
我尝试了此方法,但是它不起作用:
df['X_count'] = df.groupby('Y')['X'].nunique(dropna=False)
2获取每个X的第一次到最后一次之间的持续时间。将其求和并按Y分组。
time format='%d%b%Y:%H:%M:%S.%f'
OUT: Y Time_Duration
A 80 #10+70
B 120
C 121
不幸的是,我不知道如何实现,但是我的方法是:
for every X in df
df['Time_Diff'] = (df.index(iloc[-1]['time'] - df.iloc[0['time']).total_seconds()
time_sum = df.groupby('Y')['Time_Diff'].sum()
有人知道如何解决这个问题吗? 谢谢!