Pandas:检测一个df和另一个df之间缺少的列



我有以下代码

import pandas as pd
expected_df = pd.DataFrame({'One': [20], 'Two': [30], 'Three': [90]})
df = pd.DataFrame({'One': [20], 'Two': [30]})
assert expected_df.equals(df), 'Test Failed: df is missing column/s'
# returns 'Test Failed: df is missing column/s'

正如您所看到的,"df"不包含列"Three",因此运行assertequals()会返回"Test Failed:df is missing column/s"。

我想要的是能够检测哪一列丢失,并将其作为失败断言的一部分返回,因此类似于"测试失败:df缺少列/s:['Tree']'

有没有办法用assert和panda做到这一点?

计算两个列表之间的差异:

>>> expected_df.columns.difference(df.columns).tolist()
['Three']

相关内容

  • 没有找到相关文章

最新更新