数据框包含:
>> df
ID DATE ZIPCODE
196512 1/1/2017 17961
196512 3/1/2016 96512
196512 2/1/2017 34521
196512 9/23/2017 85687
196795 3/2/2017 28978
196795 7/3/2016 98362
196795 9/2/2016 21345
196795 1/1/2015 03452
我当前的 python pandas 代码是:
df1 = pd.pivot_table(df,index=["ID","ZIPCODE"],values=["DATE"],aggfunc=min)
这段代码有点像我想要的,但是,您可以在我的示例中看到,通过在 ID 和 ZIPCODE 上创建数据透视表,之后我必须手动评估我的输出以找出每个 ID 的最早日期和邮政编码最小日期。
我正在寻找的结果是:
ID Date ZIPCODE
196512 3/1/2016 96512
196795 1/1/2015 03452
因为我正在寻找每个 ID 的最早日期和相关的邮政编码。
请您参考如下方法:
这是一种方式。
df['DATE'] = pd.to_datetime(df['DATE'], dayfirst=True)
res = df.loc[df.groupby('ID')['DATE'].idxmin()]
print(res)
# ID DATE ZIPCODE
# 1 196512 2016-01-03 96512
# 7 196795 2015-01-01 3452
