De nombreuses opérations Pandas peuvent être effectuées via le chaînage d'opérateurs, notamment le regroupement, l'agrégation et l'application. Cependant, le filtrage des lignes est généralement effectué à l'aide de l'indexation par parenthèses traditionnelle.
df_filtered = df[df['column'] == value]
Cette approche nécessite d'attribuer df à une variable avant le filtrage, ce qui peut être fastidieux. Existe-t-il un moyen plus pratique d'enchaîner les opérations de filtrage ?
Réponse :
Bien que la dernière ligne de code fournie dans la question ne soit pas claire, le filtrage « enchaîné » peut être obtenu en chaînant des critères dans l'index booléen.
df[(df.A == 1) & (df.D == 6)]
De plus, les utilisateurs peuvent définir leur propre méthode de masque et l'utiliser pour le filtrage :
def mask(df, key, value): return df[df[key] == value] pandas.DataFrame.mask = mask df = pandas.DataFrame(np.random.randint(0, 10, (4,4)), index=list('abcd'), columns=list('ABCD')) df.mask('A', 1) df.mask('A', 1).mask('D', 6)
Cela permet un chaînage pratique des opérations de filtrage .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!