如何使用断言方法比较 python unittest 中的 2 个数据帧
How to compare 2 dataframes in python unittest using assert methods
我正在为 returns 数据帧的方法编写单元测试,但是,在测试输出时使用:
self.asserEquals(mock_df, result)
我收到 ValueError:
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
现在我正在比较符合目的的属性,
self.assertEqual(mock_df.size, result.size)
self.assertEqual(mock_df.col_a.to_list(), result.col_a.to_list())
self.assertEqual(mock_df.col_b.to_list(), result.col_b.to_list())
self.assertEqual(mock_df.col_c.to_list(), result.col_c.to_list())
但很好奇我如何断言数据帧。
import unittest
import pandas as pd
class TestDataFrame(unittest.TestCase):
def test_dataframe(self):
df1 = pd.DataFrame({'a': [1, 2], 'b': [3, 4]})
df2 = pd.DataFrame({'a': [1, 2], 'b': [3.0, 4.0]})
self.assertEqual(True, df1.equals(df2))
if __name__ == '__main__':
unittest.main()
我正在为 returns 数据帧的方法编写单元测试,但是,在测试输出时使用:
self.asserEquals(mock_df, result)
我收到 ValueError:
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
现在我正在比较符合目的的属性,
self.assertEqual(mock_df.size, result.size)
self.assertEqual(mock_df.col_a.to_list(), result.col_a.to_list())
self.assertEqual(mock_df.col_b.to_list(), result.col_b.to_list())
self.assertEqual(mock_df.col_c.to_list(), result.col_c.to_list())
但很好奇我如何断言数据帧。
import unittest
import pandas as pd
class TestDataFrame(unittest.TestCase):
def test_dataframe(self):
df1 = pd.DataFrame({'a': [1, 2], 'b': [3, 4]})
df2 = pd.DataFrame({'a': [1, 2], 'b': [3.0, 4.0]})
self.assertEqual(True, df1.equals(df2))
if __name__ == '__main__':
unittest.main()