我试图在 Pandas 数据框中找到超过 64 个字符的列。
数据框有 20 列。我想检查列中每个值的字符长度,如果任何值超过 64 个字符,则打印列名称。
当我使用下面的代码时,它不会给出任何错误,但不会输出具有与条件匹配的值的列名称。
for col in df.columns:
if (df[col].str.len()).any() > 64:
print col
Run Code Online (Sandbox Code Playgroud)
我还确保数据框中的所有数据类型都是字符串类型。
我如何使用 Pandas 实现这一目标?
如果你想使用any,那么它必须围绕比较,例如:
if (df[col].str.len() > 64).any()
Run Code Online (Sandbox Code Playgroud)
但您也可以比较max:
if (df[col].str.len()).max() > 64
Run Code Online (Sandbox Code Playgroud)
两者应该给出相同的结果