【发布时间】:2016-08-06 15:13:54
【问题描述】:
我正在处理带有四列 user_id、time_stamp1、time_stamp2 和 interval 的 pandas 数据框。 Time_stamp1 和 time_stamp2 的类型为 datetime64[ns],interval 的类型为 timedelta64[ns]。
我想总结数据框中每个 user_id 的间隔值,并尝试以多种方式计算它:
1)df["duration"]= df.groupby('user_id')['interval'].apply (lambda x: x.sum())
2)df ["duration"]= df.groupby('user_id').aggregate (np.sum)
3)df ["duration"]= df.groupby('user_id').agg (np.sum)
但它们都不起作用,运行代码后duration 的值将是NaT。
【问题讨论】:
-
df.groupby('user_id')['interval'].sum()或df.groupby('user_id')['interval'].agg('sum')怎么样? -
这两个我也查了,但是
duration列的结果是Nat -
你能发布一些示例数据集吗?
-
你从来没有提到
user_id的type。如果是float64类型,你一定会得到NaT值。
标签: python pandas dataframe group-by timedelta