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

时间:2016-09-23 19:21:32

标签: python pandas

我的数据框的列为floats。有些行的值为NaN

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

我尝试了以下内容:

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

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

这样做的正确方法是什么?

更新

有人发帖的回答类似于:

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

这看起来效果很好。现在,我想添加一个附加条件,其中列b不为空。我如何在query()函数中执行此操作。

1 个答案:

答案 0 :(得分:5)

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

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

编辑:对于更完整的版本,您可以选择:

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