Python按最大日期分组
我有一个非常简单的数据框架,其中包含列:索引、人员、项目、日期。只有4个人,3个项目和随机日期。所有人员/项目/日期组合都是唯一的。我正在尝试使用以下方法获得一个简单的透视表(如df)进行打印:Python按最大日期分组,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我有一个非常简单的数据框架,其中包含列:索引、人员、项目、日期。只有4个人,3个项目和随机日期。所有人员/项目/日期组合都是唯一的。我正在尝试使用以下方法获得一个简单的透视表(如df)进行打印: import pandas as pd mydf = pd.read_csv("Test_Data.csv",index_col=[0]) mydf = mydf.sort_values(by=['Date','Item','Person'], ascending=False) print(mydf
import pandas as pd
mydf = pd.read_csv("Test_Data.csv",index_col=[0])
mydf = mydf.sort_values(by=['Date','Item','Person'], ascending=False)
print(mydf.groupby(['Person','Item'])['Date'].max())
然而,我注意到,虽然结构是我想要的,但数据不是。它不会返回人员/项目组合的最大日期。我原以为先把事情分类会有帮助,但事实并非如此。我是否需要先创建一个临时df,然后加入以完成我想做的事情
同样需要澄清的是,共有28行数据(所有测试数据),其中一些人/项目重复,但日期不同。索引只有0到27。算出了!应确保日期字段实际被识别为日期:
mydf['Date'] = pd.to_datetime(mydf['Date'])