Normalement, on filtre un Dataframe pandas comme suit :
import pandas as pd
df = pd.read_csv(...)
df_filtered = df[df['column'] == value]
J'ai le cadre de données suivant df1
:
numbers letters other_columns
0 [A] ....
1 [A] ....
2 [C] ....
3 [B] ....
4 [B] ....
5 [A] ....
... ....
Je pensais que les entrées dans letters
étaient des chaînes de caractères, mais ce sont en fait des listes :
type(df1.letters.ix[0])
sorties list
J'ai donc essayé de filtrer le cadre de données. df1
pour n'avoir que [A]
rangs.
C'est-à-dire only_A
devrait ressembler :
numbers letters other_columns
0 [A] ....
1 [A] ....
5 [A] ....
... ....
Cependant, si j'essaie de filtrer avec le code
only_A = df1[df1['letters'] == list('A')]
Je reçois une erreur, une ValueError
ValueError: Arrays were different lengths: 3076 vs 1
Quelle est la manière correcte de filtrer ce cadre de données ?