Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “assert_frame_equal”和“equals”之间有什么区别`_Python_Pandas_Testing - Fatal编程技术网

Python “assert_frame_equal”和“equals”之间有什么区别`

Python “assert_frame_equal”和“equals”之间有什么区别`,python,pandas,testing,Python,Pandas,Testing,我很想找出assert\u frame\u equal和equal之间的区别。 两者都用于检查两个数据的相等性。它适用于assert_series_equal和assert_index_equal。那么equals和testing函数之间有什么区别呢 到目前为止,我发现was测试函数在比较值时几乎没有更多的灵活性,比如check\dtpye选项等,并且与返回值不同,这是它们之间唯一的区别吗 或者,什么时候应该使用equals方法以外的测试函数 df1=pd.DataFrame({'a':[1,2

我很想找出
assert\u frame\u equal
equal
之间的区别。 两者都用于检查两个数据的相等性。它适用于
assert_series_equal
assert_index_equal
。那么equals和testing函数之间有什么区别呢

到目前为止,我发现was测试函数在比较值时几乎没有更多的灵活性,比如
check\dtpye
选项等,并且与返回值不同,这是它们之间唯一的区别吗

或者,什么时候应该使用equals方法以外的测试函数

df1=pd.DataFrame({'a':[1,2,3,4,5],'b':[6,7,8,9,10]})
df2=pd.DataFrame({'a':[1,2,3,4,5],'b':[6,7,8,9,10]})
pd.testing.assert_frame_equal(df1,df2)
print df1.equals(df2)

pd.testing.assert_series_equal(df1['a'],df2['a'])
print df1['a'].equals(df2['a'])

pd.testing.assert_index_equal(df1.index,df2.index)
print df1.index.equals(df2.index)
当两个数据帧不相等时抛出断言错误

pd.testing.assert_frame_equal(df1, df2)            # no result - pass

pd.testing.assert_frame_equal(df1, pd.DataFrame()) # throws error - fail
# AssertionError       
只返回布尔值True/False

df1.equals(df2)
# True

df1.equals(pd.DataFrame())
# False    

pd.testing
中定义的其他函数也是如此,这些函数用于为pandas代码开发。

谢谢您的回答。为了找到两个数据帧的相等性,我可以使用equals,但是什么时候应该使用测试函数呢?在什么阶段我应该应用测试函数而不是相等?请澄清我,我不太理解其中的区别+1:)@MohamedThasinah为了澄清(也许我不清楚),您使用断言函数,主要是在为自己的代码编写单元测试用例时,当您宁愿抛出断言错误(并使测试失败)而不是查询布尔结果的值时。这几乎是惯例问题。谢谢你的宝贵评论。除了熊猫中的平等性检查之外,还有其他内置的测试功能吗?@MohamedThasinah问得好。。。我认为这些是最基本的。如果还有更多的,我不知道。@穆罕默德萨西纳,我建议退房,如果你不满意的话,考虑另开一个职位。