按索引数据帧分组python和时差

时间:2018-10-08 19:44:40

标签: python dataframe indexing group-by

是否可以通过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()                              

有人知道如何解决这个问题吗? 谢谢!

0 个答案:

没有答案