现在我想在pandas中合并两个DataFrame根据某一列是否非空决定选择保留哪个DataFrame的这一行
您可以使用pandas中的combine_first()函数来实现这个需求。combine_first()函数会按照索引进行合并,当某一行的某一列值为空时,会选择保留另一个DataFrame中对应行的值。
以下是一个示例代码:
import pandas as pd
# 创建两个示例DataFrame
df1 = pd.DataFrame({'A': [1, 2, None, 4],
'B': ['a', 'b', None, 'd']})
df2 = pd.DataFrame({'A': [5, None, 7, 8],
'B': [None, 'f', 'g', 'h']})
# 合并两个DataFrame
merged_df = df1.combine_first(df2)
print(merged_df)
输出结果如下:
A B
0 1.0 a
1 2.0 b
2 7.0 g
3 4.0 d
在上面的示例中,当某一行的某一列值为空时,combine_first()函数会选择保留df2中对应行的值
原文地址: https://www.cveoy.top/t/topic/iamm 著作权归作者所有。请勿转载和采集!