如何断言 Pandas 数据帧列中的所有值都具有所需的长度

che*_*mex 4 python assert dataframe pandas

我有 Pandas 数据框,它具有“状态”列的长度。我 100% 确定,该列中所有值的长度都是 2。当我尝试编写断言语句时,出现断言错误。我不确定我是否正确使用了断言语句。请帮忙。

assert df['state'].str.len().all() == 2
Run Code Online (Sandbox Code Playgroud)

我的理解:断言 state 列中的所有值的长度都等于 2。请告诉我这是否正确。谢谢。

Qua*_*ang 5

你的顺序有点乱。

在您的代码中df['state'].str.len().all()检查所有长度是否不同于0,它返回单个True/False1/0。当您将其与单个 进行比较时2,它总是False并触发assert.

它应该是:

assert (df['state'].str.len() == 2).all()
Run Code Online (Sandbox Code Playgroud)