Pandas 行間での足し算
集約関数sum()を使う
import pandas as pd
df = pd.DataFrame([['A', 1, 3], ['B', 2, 4], ['C', 3, 5], ['D', 4, 6]], \
columns=['a', 'b', 'c'])
print(df)
# a b c
#0 A 1 3
#1 B 2 4
#2 C 3 5
#3 D 4 6
print(df[df.index.isin([2, 3])].sum()) # リストにある行を足す
#a CD
#b 7
#c 11
#dtype: object
print(df.loc[0:1].sum()) # 連続した行を足す
#a AB
#b 3
#c 7
#dtype: object
print(df.loc[[0,2]].sum()) # (リストにある)とびとびの行でもOK
#a AC
#b 4
#c 8
#dtype: object
他の集約関数として平均mean()や、統計関数の分散varや標準偏差std()が使える。
但し、pandasのデフォルトでは不偏分散・不偏標準偏差(ddof=1)、numpyのデフォルトでは標本分散・標本標準偏差(ddof=0)となっているので注意。ちなみにこれらの用語はかなり混乱している。
ウィキペディアにおける標準偏差
pandas.DataFrame.std