パンダGroupBy

| | | | | | | | | | | | | | | | | | | | | |

Groupby—非常にシンプルなコンセプト。カテゴリのグループを作成し、その関数をカテゴリに適用できます。これは単純な概念ですが、データで広く使用されている非常に価値のある手法です。科学。実際のデータサイエンスプロジェクトでは、大量のデータを処理することになりますデータを処理し、繰り返し実行しようとするため、効率を上げるためにGroupbyの概念を使用します。 Groupbyの概念は、パフォーマンスとコード量の両方の観点からデータを効率的に組み合わせることができるため、非常に重要です。グループ化とは、主に次の1つ以上のステップを含むプロセスを指します。

  • 分離:は、データセットにいくつかの条件を適用することにより、データをグループに分割するプロセスです。 。
  • アプリケーション:は、各グループに個別に機能を適用するプロセスです。
  • 統合:は、次のプロセスです。グループ化と結果をデータ構造に適用した後、さまざまなデータセットを組み合わせます。

次の画像は、Groupbyの概念に関連するプロセスを理解するのに役立ちます。
1。 「チーム」列から一意の値をグループ化します。

2。これで、各グループにバケットができました

3。他のデータをバケットにスローします

4。各バケットの重み列に関数を適用します。

データをグループに分割する

分割—これは、データセットにいくつかの条件を適用することにより、データをグループに分割するプロセスです。データを分離するために、データセットに特定の条件を適用します。データを分離するには、 groupby ()を使用します。この関数は、いくつかの基準に従ってデータをグループに分割するために使用されます。 。 Pandasオブジェクトは、任意の軸に細分化できます。グループ化の抽象的な定義は、ラベルからグループ名へのマッピングを提供することです。パンダのデータセットは、任意のオブジェクトに分割できます。データを分割する方法はいくつかあります。たとえば、次のようになります。

  • obj。groupby (キー)
  • obj。 groupby (key、axis = 1)
  • obj。 groupby ([key1、key2])

注:ここにオブジェクトのグループ化をキーと呼びます。
1つのキーでデータをグループ化する:
1つのキーでデータをグループ化するには、 groupby 関数。

#pandas module import

import pandas as pd


#従業員データを含む辞書を定義する

data1 = { `名前` :[ `Jai` `Anuj` `Jai` `Princi`

`Gaurav` `Anuj` `Princi` `Abhi` ]、

`Age` :[ 27 24 22 32

33 <コードクラス= "value"> 36 27 32 ]、

`アドレス` :[ `Nagpur` `カンプール` ` Allahabad` `Kannuaj`、Äã‚Äã

`Jaunpur` `Kanpur` `Allahabad` `Aligarh` ]、

`資格` :[ `Msc` `MA` `MCA` `Phd`

`B.Tech` `B.com` `Msc` `MA` ]}


< br> #辞書をDataFrameに変換

df = pd.DataFrame(data1)

print (df)

< br>次に、 groupby ()関数を使用してデータNameをグループ化します。


groupby関数を使用 code>
#1つのキーで

df。 groupby ( `Name`

print (df。 groupby < / a>( `Name` )。グループ)

出力:

これで、形成されたすべてのグループの最初のレコードが出力されます。


#適用 groupby ()関数を使用して
#データを名前の値でグループ化します

gk = df。 groupby ( `Name` < / p>


#最初のエントリを出力します
#生成されたすべてのグループに含まれます。
gk.first()

出力:

複数のキーを使用したデータのグループ化:
複数のキーを使用してデータをグループ化するには、 groupby関数。


#pandas module import

import pandas as pd


#従業員データを含む辞書を定義する

data1 = { `名前` :[ `Jai` `Anuj` `Jai` `Princi`

`Gaurav` `Anuj` `Princi` `Abhi` ]、

`年齢` :[ 27 24 22 32

33 36 27 32 ]、

`アドレス` :[ `Nagpur` `Kanpur` `Allahabad` `Kannuaj`、Äã‚Äã

`Jaunpur` `Kanpur` `アラハバード` ` Aligarh` ]、

`資格` :[ `Msc` `MA` ` MCA` ` Phd`

`B.Tech` `B.com` `Msc` `MA` ]}



#DataFrameで辞書を変換する

df = pd。 DataFrame(data1)


print (df)


次に、名前と資格のデータを次のようにグループ化します。
groupby 関数の複数のキーが機能します。


groupby ()関数

df。groupby ([ `Name` `資格` ])


print (df。 groupby ([ `Name` `資格` ])。グループ)

出力:

キーの並べ替えによるデータのグループ化:
グループキーは、一括操作中にデフォルトで並べ替えられます。ユーザーはsort= Falseを渡してスピードアップを可能にすることができます。


#pandas module import

import pandas as pd


#従業員データを含む辞書を定義する

data1 = { `名前` :[ `Jai` `Anuj` `Jai` `Princi`

`Gaurav` `Anuj` `Princi` `Abhi` ]、

`年齢` :[ 27 24 22 32

33 36 27 32 ]、}



#辞書をDataFrameに変換

df = pd.DataFrame(data1)


print (df)


現在 groupby ()並べ替えなし



groupby関数を使用
#並べ替えを使用せずに < / p>

df。groupby ([ `名前` ])。 sum ()

出力:

ここで groupby ()ソートを使用して潜在的なスピードアップを実現します。


を使用groupby関数
#並べ替え


df。 groupby ([ `Name` ]、並べ替え = False )。 sum ()

出力:

オブジェクト属性を使用したデータのグループ化:
groups属性は辞書に似ており、そのキーは一意のグループとして計算され、対応する値は軸ラベルであり、各グループに属します。


#pandas module import

import pandas as pd


#従業員データを含む辞書を定義する

data1 = { `名前` :[ `Jai` `Anuj` <コードクラス= "plain">、 `Jai` `Princi`

`Gaurav` `Anuj` `Princi` `Abhi` ]、

`年齢` :[ 27 24 22 32

33 36 27 32 ]、

`アドレス` :[ `Nagpur` `Kanpur` `Allahabad` `Kannuaj`、Äã‚Äã

`Jaunpur` `Kanpur` `Allahabad` `Aligarh` ]、

`資格` :[ `Msc` `MA` `MCA` `Phd`

`B .Tech` ` B.com` `Msc` `MA` ]}



#辞書をDataFrameに変換

df = pd.DataFrame(data1)


print (df)


これで、キーを使用して辞書で行うようにデータをグループ化します。

<コードクラス="コメント" >#グループ化キーを使用
#data


df。 groupby ( `Name` )。グループ

出力:

グループの反復

Toグループアイテムを反復処理すると、iterto.olsのようなオブジェクトを反復処理できます。


#pandas module import

import pandas as pd


#従業員に関するデータを含む辞書を定義する

data1 = { `Name` :[ `Jai` `Anuj` `Jai` `Princi`

`Gaurav` `Anuj` `Princi` `Abhi` ]、

`Age` :[ 27 24 22 32

33 36 27 32 ]、

`アドレス` :[ `Nagpur` `Kanpur` `Allahabad` `Kannuaj`、Äã‚Äã

`Jaunpur` `Kanpur` `Allahabad` `Aligarh` ]、

`資格` :[ `Msc` `MA` `MCA` `Phd`

`B.Tech` `B.com` `Msc` `MA` ]}


#辞書をDataFrameに変換

df = pd.DataFrame(data1)

print (df)


itertools.objの場合と同じように、グループ要素を繰り返します。


#要素の繰り返し
グループ#


grp = df。groupby ( `Name`

for name、group in grp:

print (name)

print (グループ)

print ()

出力:

ここで、グループ要素を繰り返し処理します複数のキーを含む


#element repeat

#複数のキー


grp<を含むグループの数/ code> = df。groupby ([ `名前` `資格` ])

for name、group in grp:

pr int (name)

print (グループ)

print ( )

出力:
出力に示されているように、グループ名はタプルになります

グループの選択

を選択するにはグループの場合、 GroupBy.get_group()を使用してグループを選択できます。関数GroupBy.get_groupを適用すると、グループを選択できます。この関数は1つのグループを選択します。


#pandas module import

import pandas as pd


#従業員データを含む辞書を定義する

data1 = { `Name` :[ `Jai` `Anuj` `Jai` `Princi`

`Gaurav` `Anuj` `Princi` `Abhi` ]、

印刷(名前)

print (group)

print ()

出力:
出力に示されているように、グループ名は次のようになります。タプル

Group selection

グループを選択するには、 GroupBy.get_group()を使用してグループを選択できます。GroupBy.get_group 関数を適用してグループを選択できます。この関数は、1つのグループを選択します。 。


#pandas module import

import <コードクラス="プレーン">パンダをpdとして