Jul*_*ian 1 python dataframe pandas pandas-groupby
我有以下数据框:
df = pd.DataFrame(
{
"group": [1,1,1,2,2],
"type": ["initial", "update", "update", "initial", "update"],
"update time": ["2019-01-01 12:00:00", "2019-01-03 12:00:00", "2019-01-05 12:00:00", "2019-01-02 12:00:00", "2019-01-04 12:00:00"],
"finish time": ["2019-01-07 12:00:00", "2019-01-07 12:00:00", "2019-01-08 12:00:00", "2019-01-05 12:00:00", "2019-01-05 12:00:00"]
}
)
df["update time"] = pd.to_datetime(df["update time"])
df["finish time"] = pd.to_datetime(df["finish time"])
df
Run Code Online (Sandbox Code Playgroud)
对于每一行,我想计算每个“组”的“初始”行的“完成时间”和“更新时间”之间的差。如示例中所示,“结束时间”可以更改。
所需的输出是:
我想这groupby是一个很好的起点,但是我无法弄清楚整个解决方案。有任何想法吗?
非常感谢!
用于transform('first')将的所有第一个值广播到相同的形状update time。然后,简单减法
df['finish time'] - df.groupby('group')['update time'].transform('first')
Run Code Online (Sandbox Code Playgroud)
使用:
df['finish time']-df.groupby('group')['update time'].transform('first')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |