pandasには、特定の条件で合計する SUMIF と、 COUNTIF の値をカウントする同等の機能を実行する単一の関数がありますかExcelからの特定の条件?
に使用できる多くの複数のステップ関数があることを知っています
たとえばsumif
の場合、(df.map(lambda x: condition), or df.size())
を使用してから.sum()
を使用できます
countif
の場合、(groupby functions
を使用して回答を探すか、フィルターと.count())
を使用できます
条件とデータフレームを入力し、合計またはカウント結果を取得するこれらの機能を実行するための簡単なワンステッププロセスはありますか?
最初に条件付き選択を行い、sum
関数を使用して選択結果を合計できます。
>> df = pd.DataFrame({'a': [1, 2, 3]})
>> df[df.a > 1].sum()
a 5
dtype: int64
複数の条件がある:
>> df[(df.a > 1) & (df.a < 3)].sum()
a 2
dtype: int64
データフレームの高度なインデックス機能については言及していませんでした。例:
>>> 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
df["class"]==1
を別の条件に置き換えることができます。