删除重复的pandas df

时间:2017-11-09 16:41:49

标签: python pandas

尝试使用DataFrame.drop_duplicates参数但没有运气,因为没有删除重复项。

希望根据列" inc_id"删除。如果在该列中找到重复项,则应仅保留最后一行。

我的df是:

    inc_id  inc_cr_date
0   1049670 121
1   1049670 55
2   1049667 121
3   1049640 89
4   1049666 12
5   1049666 25

输出应为:

    inc_id  inc_cr_date
0   1049670 55
1   1049667 121
2   1049640 89
3   1049666 25

代码是:

df = df.drop_duplicates(subset='inc_id', keep="last")

知道我在这里缺少什么吗?感谢。

3 个答案:

答案 0 :(得分:2)

我认为你只是期待drop the original index

In [11]: df.drop_duplicates(subset='inc_id', keep="last").reset_index(drop=True)
Out[11]:
    inc_id  inc_cr_date
0  1049670           55
1  1049667          121
2  1049640           89
3  1049666           25

答案 1 :(得分:1)

对于数据帧 df,可以使用此代码删除重复的行。

df = pd.read_csv('./data/data-set.csv')
print(df['text'])

def clean_data(dataframe):
    # Drop duplicate rows
    dataframe.drop_duplicates(subset='text', inplace=True)

clean_data(df)
print(df['text'])

答案 2 :(得分:-1)

f.drop_duplicates(subset='inc_id', keep="last").reset_index(drop=True)