English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Pandas 描述的統計

Pandas 説明統計操作の例

DataFrameは、大量の計算、描述的統計情報、および関連する操作に使用されます。その多くは集計(例えばsum()、mean())ですが、いくつかの集計(例えばsumsum())は同じサイズのオブジェクトを生成します。一般的には、これらのメソッドはndarrayと同様に軸パラメータを使用します。{sum、std、...}のように、名前や整数で指定できます。 DataFrame − 索引 (axis=0, デフォルト), 列 (axis=1)

この章で使用するDataFrameを作成し、そのオブジェクトを使って全ての操作を行います。

インスタンス

 import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 # DataFrameの作成
 df = pd.DataFrame(d)
 print(df)

実行結果:

        Age Name   Rating
0   25   Tom     4.23
1   26   James   3.24
2   25   Ricky   3.98
3   23   Vin     2.56
4   30 Steve   3.20
5   29   Smith   4.60
6   23   Jack    3.80
7   34   Lee     3.78
8   40 David   2.98
9   30 Gasper  4.80
10  51   Betina  4.10
11  46   Andres  3.65

sum()

リクエストされた軸の値の合計を返します。デフォルトでは、軸はインデックス(軸=0)です。

 import pandas as pd
 import numpy as np
  
 #Series辞書の作成
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.sum())

実行結果:

    Age                                                    382
Name     TomJamesRickyVinSteveSmithJackLeeDavidGasperBe...
Rating                                               44.92
dtype: object

各単独の列に文字が追加されます

axis=1

この文法は以下の内容を出力します。

 import pandas as pd
 import numpy as np
  
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
  
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.sum(1))

実行結果:

    0    29.23
1    29.24
2    28.98
3    25.56
4    33.20
5    33.60
6    26.80
7    37.78
8    42.98
9    34.80
10   55.10
11   49.65
dtype: float64

mean()

平均値を返します。

 import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.mean())

実行結果:

    Age       31.833333
Rating     3.743333
dtype: float64

std()

数値列のBressel標準偏差を返します。

 import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.std())

実行結果:

    Age       9.232682
Rating    0.661628
dtype: float64

機能 & 説明

今、Python Pandasの描述的統計情報の機能について学びましょう。以下の表に重要な機能が示されています:

番号メソッド説明
1count()非空数
2sum()合計
3mean()平均値
4median()中央値
5mode()パターン
6std()標準偏差
7min()最低値
8max()最大値
9abs()絶対値
10prod()
11cumsum()積み重ね
12cumprod()積み重ね
注意: − DataFrameは異構造データ構造であるため、汎用運算はすべての機能に適用されません。
    sum()、cumsum()などの関数は数値および文字(または)文字列データ要素に対して使用できますが、エラーは発生しません。文字集合は一般的に使用されませんが、エラーは発生しません。
  • DataFrameが文字または文字列データを含む場合、abs()、cumprod()などの関数は例外を発生させます。なぜなら、このような操作は実行できないからです。

データの要約

  import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.describe())

実行結果:

                Age         Rating
count    12.000000      12.000000
mean     31.833333       3.743333
std       9.232682       0.661628
min      23.000000       2.560000
25%      25.000000       3.230000
50%      29.500000       3.790000
75%      35.500000       4.132500
max      51.000000       4.800000

この関数は平均値、stdおよびIQR値を提供します。また、関数は文字列列と数値列に関する指定された要約を含みません。“include”は、要約時に考慮する列に関する必要な情報を渡すためのパラメータです。デフォルト値は“数字”です。

object − 文字列列をまとめるnumber − 数値列をまとめるall − 全ての列をまとめて(リスト値として扱わないべきではありません)

以下、プログラムで以下の文を使用し、実行し、出力します:

  import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.describe(include=['object']))

実行結果:

           Name
count       12
unique      12
top      Ricky
freq         1

以下、プログラムで以下の文を使用し、実行し、出力します:

  import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df. describe(include='all'))

実行結果:

           Age          Name       Rating
count   12.000000        12    12.000000
unique        NaN        12          NaN
top           NaN     Ricky          NaN
freq          NaN         1          NaN
mean    31.833333       NaN     3.743333
std      9.232682       NaN     0.661628
min     23.000000       NaN     2.560000
25%     25.000000       NaN     3.230000
50%     29.500000       NaN     3.790000
75%     35.500000       NaN     4.132500
max     51.000000       NaN     4.800000