熊猫过滤掉空名单

时间:2019-12-16 23:09:13

标签: python pandas

我有一个数据框,其中包含一列“水果”,其中包含类似的内容。

[u'']
[u'']
[u'']
[u'' u'apple' u'Orange']
[u'']
[u'']

我只想返回具有[u'']的项目。

我已经尝试使用bool类型和strlen进行此操作,但在其他一些地方,我可能会有类似的内容

[u'apple']

df1 = d[d['Fruit'].str.len()== 0]

不返回任何内容,因为它计为1。

1 个答案:

答案 0 :(得分:1)

您表示数据框的方式有点奇怪。假设{ "_id": 0, "games": { "gamesList": [ { "franchiseName": "Tekken", "genre": "Fighting", "gamesInFranchise": [ { "name": "Tekken 6", "releaseDate": "11/26/2007", "co-op": true }, { "name": "Tekken 5", "releaseDate": "01/01/2004", "co-op": true } ] } ] } } 列中的每个条目实际上都是一个列表,那么它的长度将为1,因为每个记录都是一个其中包含一个条目的列表(至少在您提供的数据中)。

您感兴趣的Fruit记录是一个由简单的空字符串组成的列表。您在字符串前面看到的[u'']字符不是字符串的一部分,而只是表示该字符串是unicode,this answer了解更多信息。

要解决您的问题,您应该能够做到

u

仅拉回包含空字符串的行。

如果您仍然不清楚发生了什么,请尝试以下操作:

df1 = d[d['Fruit'] == ['']]