Skip to main content
 首页 » 编程设计

python之确定列中每一行的长度(或位数)

2025年05月04日32zhujiabin

我有一个数据框,其中的列是 float 。某些行具有 NaN 值。

我想查找数字长度(或位数)为 !=6 的行。

我尝试了以下方法:

len(str(df['a'])) != 6 

但这似乎只返回一个 bool 值,而不是数据框中每一行的 bool 值。

正确的做法是什么?

更新:

有人发了一个帖子,回答类似于:

df.query('a <= 10**5') 

这似乎工作得很好。现在,我想添加一个附加条件,其中 b 列不为空。我如何在 query() 函数中执行此操作。

请您参考如下方法:

将其转换为字符串,然后使用字符串操作。

df['a'].astype(str).str.len() 

编辑:对于更完整的版本,您可以使用:

df[(df['a'].fillna(0) < 100000) & (pd.notnull(df[b]))]