我有一个称为“ fechadas”的数据框:

print(fechadas)

              CNPJ                                         Favorecido
0    9574957000116                             ccs construtora eireli
1   73780215000146         d & m empreiteira de projetos e obras ltda
2   21592015000166                        f t r construtora ltda - me
3
4
5   20739399000134      four business desenvolvimento e servicos ltda
6   20739399000134      four business desenvolvimento e servicos ltda
7   20739399000134      four business desenvolvimento e servicos ltda
8   20739399000134      four business desenvolvimento e servicos ltda
9   17483741000173                      comercial tocantins ltda - me
10
11  17483741000173                      comercial tocantins ltda - me
12


我想取出“ Favorecido”为空的行,因此我正在使用以下代码:

fechadas=fechadas.dropna(subset=["Favorecido"],axis=0)
fechadas=fechadas.loc[((fechadas['Favorecido'] != "") | (fechadas['Favorecido'] != " ")]
fechadas=fechadas.loc[(len(fechadas['Favorecido']) != 0) | (fechadas['Favorecido'] != True)]


但是,当我打印fechadas时,它看起来完全一样:

              CNPJ                                         Favorecido  \
0    9574957000116                             ccs construtora eireli
1   73780215000146         d & m empreiteira de projetos e obras ltda
2   21592015000166                        f t r construtora ltda - me
3
4
5   20739399000134      four business desenvolvimento e servicos ltda
6   20739399000134      four business desenvolvimento e servicos ltda
7   20739399000134      four business desenvolvimento e servicos ltda
8   20739399000134      four business desenvolvimento e servicos ltda
9   17483741000173                      comercial tocantins ltda - me
10
11  17483741000173                      comercial tocantins ltda - me
12


难道我做错了什么?有人可以提出解决方案吗?

最佳答案

我建议使用Series.str.strip更改第二个条件以删除可能的更多空间:

fechadas=fechadas[(fechadas['Favorecido'].str.strip() != "")]


如果不起作用,请检查看起来有问题的值的外观:

print (df.loc[[3,4,10,12], 'Favorecido'].tolist())

10-06 08:33