簡體   English   中英

刪除重復項,保留最近的日期,Pandas數據幀

[英]Drop duplicates, keep most recent date, Pandas dataframe

我有一個包含兩列的Pandas數據框:一個datetime列和一個表示站ID的整數列。 我需要一個具有以下修改的新數據框:

對於每組重復的STATION_ID值,請保留具有DATE_CHANGED最新條目的DATE_CHANGED 如果STATION_ID的重復條目都包含相同的DATE_CHANGED則刪除重復項並為STATION_ID保留單行。 如果STATION_ID值沒有重復項,只需保留該行即可。

數據幀(按STATION_ID排序):

              DATE_CHANGED  STATION_ID
0      2006-06-07 06:00:00           1
1      2000-09-26 06:00:00           1
2      2000-09-26 06:00:00           1
3      2000-09-26 06:00:00           1
4      2001-06-06 06:00:00           2
5      2005-07-29 06:00:00           2
6      2005-07-29 06:00:00           2
7      2001-06-06 06:00:00           2
8      2001-06-08 06:00:00           4
9      2003-11-25 07:00:00           4
10     2001-06-12 06:00:00           7
11     2001-06-04 06:00:00           8
12     2017-04-03 18:36:16           8
13     2017-04-03 18:36:16           8
14     2017-04-03 18:36:16           8
15     2001-06-04 06:00:00           8
16     2001-06-08 06:00:00          10
17     2001-06-08 06:00:00          10
18     2001-06-08 06:00:00          11
19     2001-06-08 06:00:00          11
20     2001-06-08 06:00:00          12
21     2001-06-08 06:00:00          12
22     2001-06-08 06:00:00          13
23     2001-06-08 06:00:00          13
24     2001-06-08 06:00:00          14
25     2001-06-08 06:00:00          14
26     2001-06-08 06:00:00          15
27     2017-08-07 17:48:25          15
28     2001-06-08 06:00:00          15
29     2017-08-07 17:48:25          15
...                    ...         ...
157066 2018-08-06 14:11:28       71655
157067 2018-08-06 14:11:28       71656
157068 2018-08-06 14:11:28       71656
157069 2018-09-11 21:45:05       71664
157070 2018-09-11 21:45:05       71664
157071 2018-09-11 21:45:05       71664
157072 2018-09-11 21:41:04       71664
157073 2018-08-09 15:22:07       71720
157074 2018-08-09 15:22:07       71720
157075 2018-08-09 15:22:07       71720
157076 2018-08-23 12:43:12       71899
157077 2018-08-23 12:43:12       71899
157078 2018-08-23 12:43:12       71899
157079 2018-09-08 20:21:43       71969
157080 2018-09-08 20:21:43       71969
157081 2018-09-08 20:21:43       71969
157082 2018-09-08 20:21:43       71984
157083 2018-09-08 20:21:43       71984
157084 2018-09-08 20:21:43       71984
157085 2018-09-05 18:46:18       71985
157086 2018-09-05 18:46:18       71985
157087 2018-09-05 18:46:18       71985
157088 2018-09-08 20:21:44       71990
157089 2018-09-08 20:21:44       71990
157090 2018-09-08 20:21:44       71990
157091 2018-09-08 20:21:43       72003
157092 2018-09-08 20:21:43       72003
157093 2018-09-08 20:21:43       72003
157094 2018-09-10 17:06:18       72024
157095 2018-09-10 17:15:05       72024

[157096 rows x 2 columns]

DATE_CHANGEDDATE_CHANGED dtype: datetime64[ns]

STATION_IDdtype: int64

大熊貓== 0.23.4

蟒蛇== 2.7.15

嘗試:

df.sort_values('DATE_CHANGED').drop_duplicates('STATION_ID',keep='last')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM