GROUPBYパンダのデータパケット

同様にエクセルピボットテーブルは、一般的に以下の方法を使用して、行によってグループ化されました。

(=なし、軸= 0、レベル=なし、as_index = Trueの場合、ソート=真、group_keys =によってdf.groupby 真、
        スクイズ = Falseを、観察= Falseを、** kwargsから)

これは、パケット取得DataFrameGroupByオブジェクトの直接の結果です。

DF = pd.DataFrame({ ' A ':[ ' '' '' '' '' ' ]、
                    ' B ':[ ' 1 '' 1 '' 2 '' 3 '' 2 ' ]、
                    ' C ':np.arange(1.6)、
                    ' D ':np.arange(6,11 )})
 プリント(DF)
 プリント(df.groupby(' A ' ))
 プリント(型(df.groupby(' A ' )))
       ABCD 0趙1つの乃至6 1のLi 1 2 7 2王2つの3~8 3のLi 3 4 9 4趙2個の5 10 <pandas.core.groupby.generic.DataFrameGroupBy 0x0000000001E6C550におけるオブジェクト> <クラスのpandas.core。 groupby.generic.DataFrameGroupBy '>

 

これは、各要素は、パケットタプル値、第2の値データフレームの名前の組である反復パケット対象イテレート可能オブジェクトの直接の結果です。またはタプルビューのリストは、各要素に変換することができます。

以下のための N、P  df.groupby(' A ' ):
     プリント(型(p))
     プリント(n)を
     印刷(P)
     プリント' ------------------ ------- ' <クラスのpandas.core.frame.DataFrame'> 
#1 のLi 
#1      ABCD 1のLi 1個の2 7 3のLi 3 4 9 ----------- -------------- <クラスのpandas.core.frame.DataFrame '>        ABCD 2王2 3 8------------------------- <クラスのpandas.core.frame.DataFrame '>        ABCD 0趙1乃至6 4趙2つの5 10 -------------------------
結果を表示パケット

 

get_groupにより、パケットの内容を取得(「グループ名」)

基は辞書、グループ名の辞書キー、行グループに含まれるリストのインデックス値が配置されており、それはによってパケットグループ行の[「グループ名」]ビューであってもよいです

プリント(df.groupby(' A ').get_group(' '))  取得したグループ化された趙グループ
#1        ABCD 0 1 6つ趙4 10 5 TWO趙

プリント(df.groupby([ ' A '' B ' ])。グループ)
 プリント(df.groupby([ ' A '' B ' ])。グループ[(' リー'' ' )])
{( 'リー'、 '1'):Int64Index([1]、DTYPE = 'Int64の')、( 'リー'、 '3'):Int64Index([3]、DTYPE = 'Int64の')、(「王' '2'):Int64Index([2]、DTYPE = 'Int64の')、( '趙'、 '1'):Int64Index([0]、DTYPE = 'Int64の')、( '趙'、' 2 '):Int64Index([4]、DTYPE =' Int64の')} 
#1 Int64Index([1]、DTYPE =' int64'モード)
get_groupビューパケットの内容およびグループはグループ行を表示します

 

各パケットサイズ統計の長さ

プリント(df.groupby(' A ' ).size())
 プリント(型(df.groupby(' A ' ).size())) #
  のLi 2 王1 
#の趙2 
#のDTYPE:int64モード<クラスのpandas.core.series.Series '>
パケットサイズの統計情報の長さ

 

複数の列グループは、リストに記述する必要がある場合にはパケットは、単一または複数の列であってよいです。

DF = pd.DataFrame({ ' A ':[ ' '' '' '' '' ' ]、
                    ' B ':[ ' 1 '' 1 '' 2 '' 3 '' 2 ' ]、
                    ' C ':np.arange(1.6)、
                    ' D ':np.arange(6,11 )})
 プリント(df.groupby(' A ').SUM())   列パケットの、合計、要素のための他の非数値を無視数値文字列の要素
を印刷' --------------------- ' を印刷(df.groupby([ ' A '' B ' ])。SUM() )    グループ化列AとB、他の列の合計に、無視する非数値列要素の
印刷--------------------- 印刷( df.groupby(' A '' D' ] .SUM())   グループ内の列は、D列の和と
      CD
 A           のLi。6 16 王。8. 3 趙。6 16 --------------- ------              CD AB            リー2. 7つ      スリー。4. 9 王。8. 3 TWO 趙一つ。1. 6       TWO。5 10 ---------------- ----- リー16 王。8 趙16  名前:D、DTYPE:INT32
単一および複数列グループGROUPBY

 

おすすめ

転載: www.cnblogs.com/Forever77/p/11288682.html