Comment additionner les lignes du DataFrame pour des colonnes spécifiques dans Pandas
Pour un DataFrame donné, il peut être nécessaire de calculer la somme des valeurs sur lignes spécifiques. En essayant d'y parvenir via df[['a', 'b', 'd']].map(sum), vous pouvez rencontrer des problèmes.
L'opération appropriée pour cette tâche implique l'utilisation de sum() avec axe=1. Cette opération calcule la somme de chaque ligne, en ignorant les colonnes non numériques. Pour garantir l'exactitude, il est recommandé de spécifier numeric_only=True, en particulier dans les versions Pandas 2.0 et supérieures.
Par exemple, considérons un DataFrame avec les colonnes « a », « b », « c » et « d ». , où « c » est une colonne non numérique :
df = pd.DataFrame({'a': [1, 2, 3], 'b': [2, 3, 4], 'c': ['dd', 'ee', 'ff'], 'd': [5, 9, 1]})
Pour calculer la somme des colonnes 'a', 'b' et 'd', nous pouvons utiliser :
df['e'] = df.sum(axis=1, numeric_only=True)
Cela ajoutera une colonne « e » contenant la somme des colonnes souhaitées.
Si vous souhaitez additionner des colonnes spécifiques tout en excluant d'autres , vous pouvez spécifier une liste de colonnes et supprimer celles que vous ne souhaitez pas en utilisant col_list.remove(column_name).
col_list = list(df) col_list.remove('d') df['e'] = df[col_list].sum(axis=1)
Cela créera une nouvelle colonne 'e' avec la somme des colonnes spécifiées.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3