我有这个:
Date value
0 1975 a
21 1975 b
1 1976 b
22 1976 c
3 1977 a
2 1977 b
4 1978 c
25 1978 d
5 1979 e
26 1979 f
6 1980 a
27 1980 f
我无法找到一种方法来仅保留包含第一次出现的'值的行。我想删除重复的'值,保留行中最低的'日期'。最终结果应为:
Date value
0 1975 a
21 1975 b
22 1976 c
25 1978 d
5 1979 e
26 1979 f
答案 0 :(得分:6)
为了更清楚地说明Quazi发布的内容:drop_duplicates()
是您所需要的。默认情况下,保持第一次出现并丢弃所有内容 - 请查看the manual以获取更多信息。所以,当然,你应该做
>>> dataframe = oldDf.sort('Date').drop_duplicates(subset=['value'])
>>> dataframe
Out[490]:
Date value
0 1975 a
21 1975 b
22 1976 c
25 1978 d
5 1979 e
26 1979 f
答案 1 :(得分:1)
FooBar是正确的,但不建议使用sort并将其替换为sort_values
dataframe = oldDf.sort_values('Date').drop_duplicates(subset=['value'])
答案 2 :(得分:0)
df.drop_duplicates(subset=['value'], inplace=True)