Skip to main content
 首页 » 编程设计

python之按 ID 分组,返回 MIN 日期并在 MIN 日期的时间包括邮政编码

2025年05月04日15youxin

数据框包含:

    >> 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","ZIPC​​ODE"],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