尝试使用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")
知道我在这里缺少什么吗?感谢。
答案 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)