我有一个下面这样的数据框

               name            ...                         agg_data
787                 418 Media  ...                        [0.37]
799         A3 Artists Agency  ...                        [0.85]
801         A3 Artists Agency  ...                        [0.08]
808         A3 Artists Agency  ...                        [0.13]
811         A3 Artists Agency  ...                        [0.55]
...                       ...  ...                           ...
7028  Young and Profiting LLC  ...                        [0.35]
7031  Young and Profiting LLC  ...                        [0.07]
7032  Young and Profiting LLC  ...                        [0.06]
7035  Young and Profiting LLC  ...                        [0.33]
7040                Zaddy Inc  ...                        [0.15]

AGG_DATA列的值可能类似于[0.15,null]

我想查询VAL的长度为2,但长度为空

我试着像

 condition = lambda x:  any(val == '' or val is None for val in x) and len(x) == 2 

 condition = (result['agg_data'].isnull().any() &
               (len(result['agg_data'] == 2)) 

但它不起作用

有什么帮助吗 谢谢

推荐答案

pandas.isnaany使用列表解析,或者创建helper DataFrame并对DataFrame.isnaDataFrame.any进行测试:

result = pd.DataFrame({'agg_data':[[0.37], [4,None, 7], [7, None], [None, 8]]})
print (result)
       agg_data
0        [0.37]
1  [4, None, 7]
2     [7, None]
3     [None, 8]

condition = (result['agg_data'].str.len().eq(2) & 
             [any(pd.isna(y) for y in x) for x in result['agg_data']])
print (condition)
0    False
1    False
2     True
3     True
Name: agg_data, dtype: bool

condition = (result['agg_data'].str.len().eq(2) & 
             pd.DataFrame(result['agg_data'].to_list(), 
                          index=result.index).isna().any(axis=1))
print (condition)
0    False
1    False
2     True
3     True
Name: agg_data, dtype: bool

Python相关问答推荐

我可以使用极点优化这个面向cpu的pandas代码吗?

从 struct 类型创建MultiPolygon对象,并使用Polars列出[list[f64]列

inspect_asm不给出输出

使用图片生成PDF Django rest框架

Python中是否有方法从公共域检索搜索结果

将HTML输出转换为表格中的问题

Locust请求中的Python和参数

如何计算两极打印机中 * 所有列 * 的出现次数?

Python多处理:当我在一个巨大的pandas数据框架上启动许多进程时,程序就会陷入困境

acme错误-Veritas错误:模块收件箱没有属性linear_util'

根据在同一数据框中的查找向数据框添加值

Pandas 有条件轮班操作

图像 pyramid .难以创建所需的合成图像

迭代嵌套字典的值

当递归函数的返回值未绑定到变量时,非局部变量不更新:

Pandas Loc Select 到NaN和值列表

如何启动下载并在不击中磁盘的情况下呈现响应?

如何在PySide/Qt QColumbnView中删除列

基于多个数组的多个条件将值添加到numpy数组

Gekko中基于时间的间隔约束