我想对 Agent 列进行分组,并获得每个 Agent 的最大和最小已解决时间之间的差异(例如,对于 Adnan Shaikh,输出将是 01:58:22)。
如何在 Python/R 中执行此操作??
对于python,它将是:
import numpy as np
import pandas as pd
df = pd.DataFrame(data={
"Agent": ["Adnan Shaikh","Adnan Shaikh","Akshay Padaya","Akshay Padaya"],"Resolved.time": ["2021-07-28 12:11","2021-07-28 12:23","2021-07-28 13:06","2021-07-28 10:44","2021-07-28 12:45","2021-07-28 13:05",np.nan]})
df["Resolved.time"] = pd.to_datetime(df["Resolved.time"],format="%Y-%m-%d %H:%M")
result = df.groupby("Agent").agg(
Resolved_time=("Resolved.time",lambda x: np.max(x) - np.min(x))
).reset_index()
结果是这样的:
代理 | Resolved_time | |
---|---|---|
0 | 阿德南·谢赫 | 0 天 00:55:00 |
1 | 阿克谢·帕达亚 | 0 天 02:21:00 |
在 R 中,类似:
names(l)
给出:
[1] "a" "b" "c"