Y a-t-il des fonctions uniques dans pandas pour exécuter les équivalents de SUMIF , qui additionne une condition spécifique et COUNTIF , qui compte les valeurs de conditions spécifiques d'Excel?
Je sais qu’il existe de nombreuses fonctions pouvant être utilisées pour
par exemple pour sumif
je peux utiliser (df.map(lambda x: condition), or df.size())
puis utiliser .sum()
et pour countif
je peux utiliser (groupby functions
et chercher ma réponse ou utiliser un filtre et la .count())
Existe-t-il un processus simple en une étape pour effectuer ces fonctions, dans lequel vous entrez la condition et le bloc de données et vous obtenez la somme ou les résultats comptés?
Vous pouvez d’abord faire une sélection conditionnelle et résumer les résultats de la sélection en utilisant la fonction sum
.
>> df = pd.DataFrame({'a': [1, 2, 3]})
>> df[df.a > 1].sum()
a 5
dtype: int64
A plus d'une condition:
>> df[(df.a > 1) & (df.a < 3)].sum()
a 2
dtype: int64
Vous n'avez pas mentionné les fonctionnalités d'indexation sophistiquées des données, par exemple:
>>> df = pd.DataFrame({"class":[1,1,1,2,2], "value":[1,2,3,4,5]})
>>> df[df["class"]==1].sum()
class 3
value 6
dtype: int64
>>> df[df["class"]==1].sum()["value"]
6
>>> df[df["class"]==1].count()["value"]
3
Vous pourriez remplacer df["class"]==1
par une autre condition.