[英]Group a dataframe and select one cell among them based on a condition
我的數據集看起來像這樣Tr, Date, Time AV81312,20161014,121000 AV81312,20161014,160221 AV85012,20170422,150858 AV85012,20161108,11137 AV86157,20170426,45747 AV86157,20170426,45744 AV86157,20160813,134312
我只需要從每個具有最新記錄的Tr
中選擇一個項目,即具有更高日期和時間的最新記錄
所需的輸出是Tr, Date, Time AV81312,20161014,160221 AV85012,20170422,150858 AV86157,20170426,45747
我的代碼是
df2 = read_csv("sample.csv") df2 = df2.values x = [] for i in df2: for j in df2: if i[2] == j[2]: if i[3] >= j[3]: x.append(i)
它沒有按預期工作
用 -
df['Date_Time'] = pd.to_datetime(df['Date'].astype(str).str.cat(df['Time'].astype(str)),format='%Y%m%d%H%M%S')
df.loc[df.groupby('Tr')['Date_Time'].idxmax()].drop('Date_Time', axis=1)
輸出
Tr Date Time
0 AV81312 20161014 160221
1 AV85012 20170422 150858
2 AV86157 20170426 45747
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.