代码之家  ›  专栏  ›  技术社区  ›  aabujamra

在pandas数据框中选择特定列中有空列表的行[重复]

  •  0
  • aabujamra  · 技术社区  · 6 年前

    这个问题已经有了答案:

    我有一个如下所示的数据框:

                                            parte_passiva       name
    0                                                  []       Charles     
    1              [INDUSTRIAS MENTEN DE CARTONAGEM LTDA]       Carlos      
    2                 [MABE BRASIL ELETRODOMÉSTICOS LTDA]       Mark
    3                            [ACUMULADORES AJAX LTDA]       Marcos        
    ...
    

    请注意,“parte_passia”列由列表组成。 我想选择那些列表为空的行,所以我正在尝试:

    df2=df1.loc[(df1['parte_passiva'] == [])]
    

    但是我得到了这个错误:

     ValueError: Arrays were different lengths: 60 vs 0
    

    有什么想法可以超越这个阶段吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   BENY    6 年前

    通过 str.len

    df2=df1.loc[(df1['parte_passiva'].str.len() == 0),:]
    

    或使用

    df1[~df1.parte_passiva.astype(bool)]