如何在数据框中选择列表

2024-05-16 13:49:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框,它在一个单元格中包含列表项

例如,数据框“home”

a       b                  c
'book'  ['living room']   ['cat','foo']
'shoes' ['door']          ['man','woman']
'cook'  []                ['knife']

问题是如何根据b==[](空列表)选择“cook”

就像

home.loc[home.b==[]]

顺便说一句,我使用lambda x:[]函数创建了这个列表


Tags: 数据home列表fooloccatroomcook
2条回答

我认为,@MaxU方法是最优的

但是,您可以尝试以下方法:

home.loc[home.b.apply(lambda x: x == [])]

输出:

      a   b        c
2  cook  []  [knife]

试试这个:

home.loc[home['b'].str.len()==0]

更新:

In [313]: d
Out[313]:
       a              b             c
0   book  [living room]    [cat, foo]
1  shoes         [door]  [man, woman]
2   cook             []       [knife]

In [314]: lst = ['cat','foo']

In [315]: d.loc[d['c'].astype(str) == str(lst)]
Out[315]:
      a              b           c
0  book  [living room]  [cat, foo]

相关问题 更多 >