Pythonパンダ-記述統計
多数のメソッドが、DataFrameの記述統計およびその他の関連操作をまとめて計算します。これらのほとんどは次のような集合体ですsum(), mean(), しかしそれらのいくつかは sumsum()、同じサイズのオブジェクトを作成します。一般的に言えば、これらの方法はaxis引数は、ndarray。{sum、std、...}と同じですが、軸は名前または整数で指定できます。
DataFrame −「インデックス」(軸= 0、デフォルト)、「列」(軸= 1)
DataFrameを作成し、この章全体でこのオブジェクトをすべての操作に使用しましょう。
例
import pandas as pd
import numpy as np
#Create a Dictionary of 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])
}
#Create a DataFrame
df = pd.DataFrame(d)
print df
その output 次のとおりです-
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
和()
要求された軸の値の合計を返します。デフォルトでは、軸はインデックスです(axis = 0)。
import pandas as pd
import numpy as np
#Create a Dictionary of 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])
}
#Create a DataFrame
df = pd.DataFrame(d)
print df.sum()
その output 次のとおりです-
Age 382
Name TomJamesRickyVinSteveSmithJackLeeDavidGasperBe...
Rating 44.92
dtype: object
個々の列は個別に追加されます(文字列が追加されます)。
axis = 1
この構文により、次のような出力が得られます。
import pandas as pd
import numpy as np
#Create a Dictionary of 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])
}
#Create a DataFrame
df = pd.DataFrame(d)
print df.sum(1)
その output 次のとおりです-
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
平均()
平均値を返します
import pandas as pd
import numpy as np
#Create a Dictionary of 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])
}
#Create a DataFrame
df = pd.DataFrame(d)
print df.mean()
その output 次のとおりです-
Age 31.833333
Rating 3.743333
dtype: float64
std()
数値列のブレッセル標準偏差を返します。
import pandas as pd
import numpy as np
#Create a Dictionary of 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])
}
#Create a DataFrame
df = pd.DataFrame(d)
print df.std()
その output 次のとおりです-
Age 9.232682
Rating 0.661628
dtype: float64
機能と説明
PythonPandasの記述統計の下にある関数を理解しましょう。次の表に、重要な機能を示します。
シニア番号 | 関数 | 説明 |
---|---|---|
1 | カウント() | null以外の観測値の数 |
2 | 和() | 値の合計 |
3 | 平均() | 値の平均 |
4 | median() | 値の中央値 |
5 | モード() | 値のモード |
6 | std() | 値の標準偏差 |
7 | min() | 最小値 |
8 | max() | 最大値 |
9 | abs() | 絶対値 |
10 | prod() | 価値の積 |
11 | cumsum() | 累積合計 |
12 | cumprod() | 累積積 |
Note−DataFrameは異種データ構造であるため。一般的な操作は、すべての機能で機能するとは限りません。
次のような機能 sum(), cumsum()数値と文字(または)文字列の両方のデータ要素をエラーなしで処理します。でもn 実際には、文字の集計は一般的に使用されることはなく、これらの関数は例外をスローしません。
次のような機能 abs(), cumprod() DataFrameに文字または文字列データが含まれている場合、そのような操作は実行できないため、例外をスローします。
データの要約
ザ・ describe() 関数は、DataFrame列に関連する統計の要約を計算します。
import pandas as pd
import numpy as np
#Create a Dictionary of 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])
}
#Create a DataFrame
df = pd.DataFrame(d)
print df.describe()
その output 次のとおりです-
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
この関数は mean, std そして IQR値。また、関数は文字列と数値列に関する要約を除外します。'include'要約するためにどの列を考慮する必要があるかに関する必要な情報を渡すために使用される引数です。値のリストを取得します。デフォルトでは、「数値」。
- object −文字列列を要約します
- number −数値列を要約します
- all −すべての列をまとめます(リスト値として渡さないでください)
ここで、プログラムで次のステートメントを使用して、出力を確認します-
import pandas as pd
import numpy as np
#Create a Dictionary of 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])
}
#Create a DataFrame
df = pd.DataFrame(d)
print df.describe(include=['object'])
その output 次のとおりです-
Name
count 12
unique 12
top Ricky
freq 1
ここで、次のステートメントを使用して、出力を確認します-
import pandas as pd
import numpy as np
#Create a Dictionary of 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])
}
#Create a DataFrame
df = pd.DataFrame(d)
print df. describe(include='all')
その output 次のとおりです-
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