我正在尝试连接两个数据帧,如果出现重复,我想考虑 C 列具有最大值的行 我尝试了这个命令:
df = pd.concat([df1, df2]).max(level=0)
因此,如果两行 A 列和 B 列的值相同,我将只选取 C 列具有最大值的那一行。
最佳答案
您可以按 C 列排序,然后按 A 和 B 列删除重复项:
df = pd.concat([df1, df2])\
.sort_values('C')\
.drop_duplicates(subset=['A', 'B'], keep='last')
您的尝试存在一些误解:
-
pd.DataFrame.max
用于计算最大值,而不是过滤数据帧。 level
参数仅与MultiIndex
数据帧相关。
关于python - 连接两个数据帧并根据条件删除重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53770709/