首先,我们需要确定哪些列具有空/Null值。可以使用 pandas 库中的 isnull() 或 notnull() 函数来确定列中是否存在 Null 值。
例如,我们有两个数据集 df1 和 df2:
import pandas as pd
df1 = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [None, 10, 11, 12]}) df2 = pd.DataFrame({'A': [5, 6, 7, 8], 'B': [1, 2, 3, 4], 'C': [None, 12, 10, 11]})
检查哪些列具有空/Null值:
null_columns_df1 = df1.columns[df1.isnull().any()] null_columns_df2 = df2.columns[df2.isnull().any()]
现在,我们可以比较这些数据集的非空列。可以使用 pandas 库中的 equals() 函数来比较两个数据集。
例如,我们要比较 df1 和 df2 中的非空列:
df1_notnull = df1[df1.columns[~df1.isnull().all()]] df2_notnull = df2[df2.columns[~df2.isnull().all()]]
print(df1_notnull.equals(df2_notnull))
如果返回 True,则说明这些列的值相同。如果返回 False,则说明这些列的值不同。
我们还可以使用 pandas 库中的 combine_first() 函数将两个数据集合并,并填充空/Null值。
例如,我们要将 df2 合并到 df1 中并填充空/Null值:
merged_df = df1.combine_first(df2) print(merged_df)
上一篇:比较两个具有多个值的列表
下一篇:比较两个具有数值的CSV文件