【发布时间】:2021-08-25 06:12:06
【问题描述】:
我有以下代码
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”不包含“三”列,因此运行 assert equals() 会返回“测试失败:df 缺少列/秒”。
我想要的是能够检测丢失的列并将其作为失败断言的一部分返回,因此类似于“测试失败:df is missing column/s: ['Three']'”
有没有办法用 assert 和 pandas 做到这一点?
【问题讨论】:
-
你可以使用 expected_df.eq(df),它给你一个 True False df 并从那里断言
标签: python pandas dataframe assert