我如何断言一列中的所有值在熊猫中都有特定的长度?

问题描述 投票:0回答:3

我想编写断言语句以检查列'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])
python pandas assert
3个回答
1
投票

如果需要实际的断言,请运行:

assert kcell.client_id.apply(lambda n: len(str(n))).eq(12).all(), 'client_id length always 12'

[请注意,如果您的列是例如int类型。我的解决方案适用于int ot string列。


1
投票

代替kcell['client_id'].str.len() == 12,您可以使用lambdalen直接应用pandas.Series.apply功能>

pandas.Series.apply

0
投票

我认为您需要pandas.Series.allpandas.Series.all来检查列的所有值是否都具有长度>>> assert (df.client_id.apply(len) == 12).all(),"Error message" ,对于一般解决方案,添加了Series.str.len以转换为字符串:

© www.soinside.com 2019 - 2024. All rights reserved.