我有一个大约有10m行的文件。每行很可能是唯一的,但我将按第1列,第2列和第3列对文件进行排序。
Column 1 = CODE
Column 2 = DATE
Column 3 = AMOUNT
我只想保留第一行直到下一个日期,依此类推。以下是我所拥有的以及我需要输出的示例。
Original:
COL1 COL2 COL3
ABA 2019-01-01 100
ABA 2019-01-01 111
ABA 2019-01-02 140
ABA 2019-01-02 150
ABA 2019-01-03 200
ABA 2019-01-03 220
Ouptut needed:
COL1 COL2 COL3
ABA 2019-01-01 100
ABA 2019-01-02 140
ABA 2019-01-03 200
任何人都可以帮助我。尝试过
a.drop_duplicates(subset[data.columns[0],data.columns[1],data.columns[2]], keep='first')
答案 0 :(得分:2)
先尝试groupby,然后再尝试:
a.groupby([data.columns[0],data.columns[1]], as_index=False).first()
答案 1 :(得分:1)
您的解决方案几乎是正确的。此版本是修改后的版本:
>> a.drop_duplicates(subset = [a.columns[0],a.columns[1]], keep='first')
产生:
COL1 COL2 COL3
0 ABA 2019-01-01 100
2 ABA 2019-01-02 140
4 ABA 2019-01-03 200
解释修改: