检查包含超过64个字符的数据框列

时间:2018-11-05 21:16:33

标签: python pandas

我试图在Pandas数据框中找到包含64个以上字符的列。

数据框有20列。我想检查列中的每个值的字符长度,如果任何值超过64个字符,则打印列名。

当我使用以下代码时,它不会给出任何错误,但不会输出具有与条件匹配的值的列名。

for col in df.columns:
    if (df[col].str.len()).any() > 64:
        print col

我还确保数据框中的所有数据类型均为String类型。

如何使用Pandas实现这一目标?

2 个答案:

答案 0 :(得分:3)

如果您所有的列都是字符串:

df[df.Produced==0 & (df.loc[:, ['Lost', 'Output', 'Signal']]!=0).any(1)]

样本数据

df.applymap(len).gt(64).any()

答案 1 :(得分:3)

如果要使用any,则必须围绕比较,例如:

if (df[col].str.len() > 64).any()

但是您也可以将其与max进行比较:

if (df[col].str.len()).max() > 64

两者都应给出相同的结果