如何使用Python中的简单比较运算符验证合并后的DataFrame包含全部源数据列
嘿,我来帮你搞定怎么验证合并后的DataFrame是否包含所有源数据列的问题!你已经写好了创建和合并DataFrame的代码,接下来用简单的比较运算符就能轻松完成验证,步骤如下:
首先,我们需要先把两个源DataFrame的列合并成一个完整的集合(自动去重,避免像Prod这种共同列重复计算),然后把合并后的DataFrame的列也转成集合,用集合的比较运算符来验证包含关系。
完整验证代码示例
把下面的代码加在你现有代码的最后就行:
# 收集所有源数据的列(自动去重) source_all_columns = set(df1.columns).union(set(df2.columns)) # 验证合并后的DataFrame是否包含所有源列(允许有额外列) has_all_source_columns = set(df_tech.columns) >= source_all_columns # 可选:验证合并后的列是否和源列完全一致(没有额外列) has_exact_columns = set(df_tech.columns) == source_all_columns # 打印结果 print("✅ 合并后的DataFrame包含所有源数据列吗?", has_all_source_columns) print("🔍 合并后的列和源列完全一致吗?", has_exact_columns)
代码解释
set(df1.columns).union(set(df2.columns)):把df1和df2的列转换成集合后取并集,得到所有不重复的源数据列。set(df_tech.columns) >= source_all_columns:用>=运算符判断合并后的列集合是否包含所有源列集合,返回布尔值True或False,这就是你要的简单比较运算符用法。- 如果需要严格验证合并后的列刚好等于源列(没有多出来的列),就用
==运算符。
在你的例子里,合并后的df_tech列是['Prod', 'Price_1', 'Price_2'],和源列集合完全一致,所以两个验证都会返回True。
内容的提问来源于stack exchange,提问作者shaker
相关产品推荐
相关产品推荐

