我可以成功删除重复项并更新现有数据框中的行。当我写这个数据帧时,也是已经有数据的csv,我如何在数据帧中对csv执行相同的命令以删除重复项和更新行。
df:
ID email date
0 a@a.com 2018-01-22
1 b@b.com 2018-01-20
csv:
ID email date
0 d@d.com 2018-01-22
我需要csv看起来像这样:
csv:
ID email date
0 a@a.com 2018-01-22
1 b@b.com 2018-01-20
这是我在数据帧中删除和更新pandas的代码:
permanent=permanent.sort_values(['ID']).drop_duplicates(['ID'],keep='last')
不确定如何为csv做pandas行。
提前感谢您的帮助。
答案 0 :(得分:0)
这是一种方式。
# filename containing data
filename = 'file.csv'
# drop duplicates from existing dataframe
permanent = permanent.sort_values('ID')\
.drop_duplicates('ID', keep='last')
# read file into dataframe
df = pd.read_csv(filename)
# concatenate the above dataframes and drop duplicates
new_df = pd.concat([permanent, df], ignore_index=True)\
.sort_values('ID')\
.drop_duplicates('ID', keep='last')
# write to file
new_df.to_csv(filename, index=False)
答案 1 :(得分:0)
我引用了此脚本,并遇到UnboundLocalError ...“永久”在分配前被引用
我相信这条线应该是
永久-文件名.sort ...等
这对我的数据有用。
# filename containing data
filename = 'file.csv'
# drop duplicates from existing dataframe
permanent = filename.sort_values('ID')\
.drop_duplicates('ID', keep='last')