【发布时间】:2020-03-24 13:39:50
【问题描述】:
我有如下所示的 2 个 CSV 文件和结果,我想在 XXX 位置编写代码,该代码将删除结果中的所有重复行,但要保留具有最大列值的行,例如,我想保留用 ADA 命名 a,而不是 NaN 行。我的代码在那里
order phone
name
a aa 1
b bb 2
c cc 3
order phone ad
name
a aa 1 ada
b bb 2 adb
c cc 3 adc
d dd 4 add
order phone ad
name
a aa 1 NaN
b bb 2 NaN
c cc 3 NaN
a aa 1 ada
b bb 2 adb
c cc 3 adc
d dd 4 add
import csv
import os
import pandas as pd
df1 = pd.read_csv(r"1.csv",
index_col=[0], parse_dates=[0])
df2 = pd.read_csv(r"2.csv",
index_col=[0], parse_dates=[0])
print(df1)
print(df2)
finaldf = pd.concat([df1, df2], axis=0, join='outer', sort=False)
df = finaldf.loc[:,~finaldf.columns.duplicated()]
XXXX
print(finaldf)
print(df)
export_csv = df.to_csv(r'3.csv', index = None, header=True)
【问题讨论】:
-
groupby name 和 max 聚合
-
或按值列排序并保留优先删除重复项
标签: python pandas csv duplicates