pandas断言扩展
pandas-should的Python项目详细描述
熊猫应该
熊猫应该是熊猫断言的扩展。
安装
使用pip安装并更新发布的版本:
$ pip install pandas-should
如果您想要开发版本:
$ pip install git+https://github.com/momijiame/pandas-should.git
快速启动
您只需导入pandas_should
即可使用:
importpandas_should
数据帧
长度(行)
之前:
assertlen(df1)==len(df2)
之后:
assertdf1.should.have_same_length(df2)
或
assertdf1.should.have_length(len(df2))
前(多数据帧):
assertlen(df1)==(len(df2)+len(df3))
之后(多数据帧)
assertdf1.should.have_same_length(df2,df3)
宽度(列)
之前:
assertlen(df1.columns)==len(df2.columns)
之后:
assertdf1.should.have_same_width(df2)
或
assertdf1.should.have_width(len(df2.columns))
前(多数据帧):
assertlen(df1.columns)==(len(df2.columns))+len(df3.columns)))
之后(多数据帧)
assertdf1.should.have_same_width(df2,df3)
相等
之前:
frompandas.util.testingimportassert_frame_equaldefequal(a,b):try:assert_frame_equal(a,b)exceptAssertionError:returnFalsereturnTrueassertequal(df1,df2)
之后:
assertdf1.should.equal(df2)
空包含
之前:
assertdf.isnull().any(axis=None)
之后:
assertdf.should.have_null()
或不包括在内:
assertdf.should.have_not_null()assertnotdf.should.have_null()
形状
之前:
assertdf1.shape==df2.shape
之后:
assertdf1.should.be_shaped_like(df2)
或
assertdf1.should.be_shaped_like(df2.shape)assertdf1.should.be_shaped_like(df2.shape[0],df2.shape[1])
值范围
之前:
assert(df>=range_min).any(axis=None)and(df<=range_max).any(axis=None)
之后:
assertdf.should.fall_within_range(range_min,range_max)
仅大于:
assertdf.should.greater_than(range_min)assertdf.should.greater_than_or_equal(range_min)
小于唯一值:
assertdf.should.less_than(range_min)assertdf.should.less_than_or_equal(range_min)
系列
长度
之前:
assertlen(s1)==len(s2)
之后:
asserts1.should.have_same_length(s2)
或:
asserts1.should.have_length(len(s2))
之前(多个系列):
assertlen(s1)==(len(s2)+len(s3))
之后(多个系列):
asserts1.should.have_same_length(s2,s3)
相等
之前:
frompandas.util.testingimportassert_series_equaldefequal(a,b):try:assert_series_equal(a,b)exceptAssertionError:returnFalsereturnTrueassertequal(s1,s2)
之后:
asserts1.should.equal(s2)
空包含
之前:
asserts.isnull().any()
之后:
asserts.should.have_null()
或不包括在内:
asserts.should.have_not_null()assertnots.should.have_null()
值范围
之前:
assert(s>=range_min).any()and(s<=range_max).any()
之后:
asserts.should.fall_within_range(range_min,range_max)
仅大于:
asserts.should.greater_than(range_min)asserts.should.greater_than_or_equal(range_min)
小于唯一值:
asserts.should.less_than(range_min)asserts.should.less_than_or_equal(range_min)
价值变化
之前:
assertlen(s.unique())==expect_size
之后:
asserts.should.have_number_of_unique_values(expect_size)