
166
3
章
pandas
を使ったデータ操作
効なメソッドは、
GroupBy
オブジェクトに対しても使用できることを覚えておきましょう。これに
より、非常に柔軟で強力な操作が可能になります。
3.9.3.3
集約、フィルタ、変換、適用
前述の議論では、結合操作に対する集約に重点を置いて説明しましたが、利用できるのはこれだ
けではありません。特に、
GroupBy
オブジェクトには、グループ化したデータを結合する前に、さ
まざまな操作を効率的に実装するための
aggregate()
(集計)、
filter()
(フィルタ)、
transform()
(変換)、
apply()
(適用)メソッドがあります。
以降の説明では、次の
DataFrame
を使います。
In[19]: rng = np.random.RandomState(0)
df = pd.DataFrame({'key': ['A', 'B', 'C', 'A', 'B', 'C'],
'data1': range(6),
'data2': rng.randint(0, 10, 6)},
columns = ['key', 'data1', 'data2'])
df
Out[19]: key data1 data2
0 A 0 5
1 B 1 0
2 C 2 3
3 A 3 3
4 B 4 7
5 C 5 9
集約
既に
sum()
、
median()
などを
GroupBy
に対して適用した例を見ていますが、
aggregate()
メソッ
ドを使用するとさらに柔軟な操作が可能となります。文字列、関数、またはそのリストを取り、す ...