我想编写断言语句以检查列'client_id'的特定长度= 12。
assert kcell[ kcell['client_id'].apply(lambda id: len(id) == 12 ]
或
assert (kcell[ kcell['client_id'].apply(lambda id: len(id) == 12])
如果需要实际的断言,请运行:
assert kcell.client_id.apply(lambda n: len(str(n))).eq(12).all(), 'client_id length always 12'
[请注意,如果您的列是例如int类型。我的解决方案适用于int ot string列。
代替kcell['client_id'].str.len() == 12
,您可以使用lambda
和len
直接应用pandas.Series.apply
功能>
pandas.Series.apply
我认为您需要pandas.Series.all
和pandas.Series.all
来检查列的所有值是否都具有长度>>> assert (df.client_id.apply(len) == 12).all(),"Error message"
,对于一般解决方案,添加了Series.str.len
以转换为字符串: