Pandas não contando linhas corretamente
Então eu tenho esse quadro de dados:
filename width height class xmin ymin xmax ymax
0 128782.JPG 640 512 Panel 36 385 119 510
1 128782.JPG 640 512 Panel 124 388 207 510
2 128782.JPG 640 512 Panel 210 390 294 511
3 128782.JPG 640 512 Panel 294 395 380 510
4 128782.JPG 640 512 Panel 379 398 466 511
5 128782.JPG 640 512 Panel 465 402 553 510
6 128782.JPG 640 512 P+SD 552 402 638 510
7 128782.JPG 640 512 P+SD 558 264 638 404
...
...
57170 128782.JPG 640 512 P+SD 36 242 121 383
57171 128782.JPG 640 512 HS+P+SD 36 97 122 242
57172 128782.JPG 640 512 P+SD 214 106 304 250
O que contém na coluna chamada "classe" possui os valores exclusivos "Painel", "P + SD" e "HS + P + SD". Quero contar quantas linhas existem com esses valores. Tentei o seguinte:
print(len(split_df[split_df["class"].str.contains('Panel')]))
print(len(split_df[split_df["class"].str.contains('HS+P+SD')]))
print(len(split_df[split_df["class"].str.contains('P+SD')]))
Isto me deu esta saída:
56988
0
0
Isso está incorreto, como você pode ver claramente, com base no snippet do DataFrame fornecido acima. Por que tudo é contado corretamente para o Panel, mas nada é contado para os outros dois nomes de "classes"
Aqui está a saída de split_df.info
RangeIndex: 57172 entries, 0 to 57171
Data columns (total 8 columns):
filename 57172 non-null object
width 57172 non-null int64
height 57172 non-null int64
class 57172 non-null object
xmin 57172 non-null int64
ymin 57172 non-null int64
xmax 57172 non-null int64
ymax 57172 non-null int64
dtypes: int64(6), object(2)
memory usage: 3.5+ MB
Eu não consigo descobrir o que está errado. Qualquer ajuda é apreciad