Python 如何进行此查询?

Python 如何进行此查询?,python,pandas,dataframe,Python,Pandas,Dataframe,因此,我有一个简单的数据帧df,如下所示。clean_grams列是python列表或NaN。列表中可以包含元素,也可以为空 clean_grams part 0 [] E1028364E7BA353750620317F8ED618187EA76B5 1 NaN 4C5AA421DF5FF650A63695C33AAF35531E79FC1E 2

因此,我有一个简单的数据帧df,如下所示。clean_grams列是python列表或NaN。列表中可以包含元素,也可以为空

    clean_grams                                      part
0          []       E1028364E7BA353750620317F8ED618187EA76B5
1         NaN       4C5AA421DF5FF650A63695C33AAF35531E79FC1E
2          []       637148EF9EE16F4A0BA9A44C72330F32A7C8C9BB
3          ['dog']  C48B08CA63359A4849B00D9A3622A604BB3EDB80
4         NaN       932FEB7317F2E1ACEC569B9C49C3B4563C50D946
现在,要选择所有列表不为空的行,我尝试:

df[df['clean_grams'] != []]
但我得到一个值错误:

请帮忙


多谢各位

不,这不是一个bug@elyase,它应该写为
DF[DF['clean_grams'!=[[],]*len(DF)]

df['clean_grams']想想引擎盖下面发生了什么[]
numpy
无法确定
数组是否是
[]
(因为
数组也是一个
列表
),或者它应该广播并将其与
[[],]*len(DF)]
进行比较。因此,我们必须在这里帮助它,具体地告诉它做后者


异常消息读取
ValueError:数组的长度不同:5比0
,这就解释了一切

正是这种东西让熊猫对人类来说太难了。它用一个干净的抽象来嘲弄你,但它总是打断你:)谢谢你的帮助。