如何制作这个熊猫查询?

时间:2014-04-07 22:36:24

标签: python pandas dataframe

所以我有一个简单的数据框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'] != []]

但是我收到了一个值错误:http://pastebin.com/ugQuFqRD

请帮忙!

谢谢你。

1 个答案:

答案 0 :(得分:2)

不,它不是@elyase的错误,应该写成DF[DF['clean_grams']!=[[],]*len(DF)]

考虑一下发生了什么,df['clean_grams'] != []numpy无法确定array是否为[](因为array是也是一个list),或者它应该广播并与[[],]*len(DF)]进行比较。所以我们必须通过专门告诉它做后者来帮助它。

异常消息显示ValueError: Arrays were different lengths: 5 vs 0,这解释了所有内容。