我在代码中实现了以下 groupby 语句。 以下代码的目的是通过唯一的 EVENTID 提供"DTIN"列中的最小日期。
df_EVENT5_future_2 = df_EVENT5_future.groupby('EVENTID').agg({'DTIN': [np.min]})
df_EVENT5_future_3 = df_EVENT5_future_2.reset_index()
输出表如下:
EVENTID DTIN
amin
A 1/3/2019
B 1/19/2019
C 2/10/2019
我希望表格像这样输出。我不希望 amin 在列标题中。
EVENTID DTIN
A 1/3/2019
B 1/19/2019
C 2/10/2019
任何帮助将不胜感激。
这是
根据@Wen的建议。您无需为此使用 agg
。只需使用 groupby.min()
并设置as_index=False
:
result = df.groupby('EVENTID', as_index=False)['DTIN'].min()
请不要投票或接受此答案,因为这是一个重复的答案。
例
df = pd.DataFrame({'DTIN': {0: 4, 1: 3, 2: 9, 3: 1, 4: 2, 5: 5, 6: 6, 7: 5},
'EVENTID': {0: 'A', 1: 'A', 2: 'A', 3: 'B', 4: 'C', 5: 'B', 6: 'B', 7: 'C'}})
result = df.groupby('EVENTID', as_index=False)['DTIN'].min()
# EVENTID DTIN
# 0 A 3
# 1 B 1
# 2 C 2