1. ホーム
  2. python

[解決済み] パンダのグループ化(値の範囲指定

2022-09-27 11:29:03

質問

pandasの中で、簡単に groupby を呼び出す簡単な方法はありますか?例えば、以下の例では、カラムをbinとグループ化することができます。 B0.155 を増分することで、例えば、カラム B の最初のグループは、「0 - 0.155, 0.155 - 0.31 ...`」の範囲に分割されます。

import numpy as np
import pandas as pd
df=pd.DataFrame({'A':np.random.random(20),'B':np.random.random(20)})

     A         B
0  0.383493  0.250785
1  0.572949  0.139555
2  0.652391  0.401983
3  0.214145  0.696935
4  0.848551  0.516692

別の方法としては、まずデータを新しいカラムに分類し、その後に groupby を使用して、列の中で適用可能な関連する統計情報を決定します。 A ?

どのように解決するのですか?

あなたは、以下のことに興味があるかもしれません。 pd.cut :

>>> df.groupby(pd.cut(df["B"], np.arange(0, 1.0+0.155, 0.155))).sum()
                      A         B
B                                
(0, 0.155]     2.775458  0.246394
(0.155, 0.31]  1.123989  0.471618
(0.31, 0.465]  2.051814  1.882763
(0.465, 0.62]  2.277960  1.528492
(0.62, 0.775]  1.577419  2.810723
(0.775, 0.93]  0.535100  1.694955
(0.93, 1.085]       NaN       NaN

[7 rows x 2 columns]