Python 按列排序,只保留第一行,直到列1中的下一个值
我有一个大约10万行的文件。每一行很可能都是唯一的,但我将按第1列、第2列和第3列对文件进行排序Python 按列排序,只保留第一行,直到列1中的下一个值,python,pandas,sorting,duplicates,Python,Pandas,Sorting,Duplicates,我有一个大约10万行的文件。每一行很可能都是唯一的,但我将按第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 14
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\u重复项(子集[data.columns[0],data.columns[1],data.columns[2]],keep='first')
尝试groupby,然后首先:
a.groupby([data.columns[0],data.columns[1]], as_index=False).first()
你的解决方案几乎是正确的。此版本是一个修改版本:
>> 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
解释修改:
什么是
a
?你的尝试有什么问题?