1.データ分析
1.1基本的な統計分析
1.1.1意味
基本的な統計分析は、変数の最小値、第1四分位値、中央値、第3四分位値、および最大値をカウントすることです。
1.1.2データセンター
データの中心位置は、平均(平均)、中央値(中央値)、および最頻値(最頻値)に分けることができます。
1.1.3関数の記述
記述統計分析機能について説明します。この関数の戻り値は、平均、標準偏差、最大、最小、分位数などです。括弧内にいくつかのパラメータが含まれる場合があります。たとえば、percentiles = [0,0.2,0.4,0.6,0.8]は、デフォルトの1 / 4、1 / 2、3ではなく、0.2、0.4、0.6、0.8の分位数のみが計算されることを意味します。 / 4番目の変位値。
一般的に使用される統計関数は次のとおりです。
サイズ:サンプル数をカウントします(この関数は括弧を必要としません)
sum():合計。
mean():平均値。
var():分散。
std():標準偏差。
1.1.4例
i_nuc_utf8.csvを表示する
import pandas as pd
import numpy as np
np.set_printoptions(suppress=True)#显示的数字不是以科学记数法显示
import pandas as pd
#display.max_columns 显示最大列数,display.max_rows 显示最大行数
df=pd.DataFrame(pd.read_csv('i_nuc_utf8.csv'))#d读取文件
df#展示读取的文件
演算結果:
df.describe()#所有各列的基本统计
演算結果:
ある変数の基本データを計算します。
平均値の計算方法(3種類あります)。
表全体の中央値と最頻値を計算します。
1.1.5まとめ
記述関数は、各変数の基本データを計算します。
平均を計算する3つの方法。
df ['variable']などのテーブルの変数を表します。
中央値関数は中央値を計算し、
最頻値関数は最頻値を計算します
1.2グループ分析
1.2.1意味
グループ化フィールドに従って、分析オブジェクトをさまざまな部分に分割します。
1.2.2フォーマット
一般的に使用されるコマンド形式は次のとおりです
。df.groupby(by = ['group by'、...])['カウントされる列']。agg({列エイリアス:統計関数1、...})
ここで、
列をグループ化するため、
[]は統計に使用される列を示し、
aggは統計エイリアス統計値の名前を示し、統計関数は統計データに使用されます。一般的に使用される統計関数は次のとおりです。サイズはカウントを意味し、合計は合計を意味し、平均は平均を意味します。
1.2.3例
groupbyグループ化では、数値列が集計され、非数値列が結果から除外されます。グループ化の基準が不明な場合は、リストを使用する必要があります。
df.groupby(by=['班级','性别'])['军训','英语','体育'].mean()
データの各グループの平均、標準偏差、合計などを同時に計算する場合は、agg()を使用する必要があります。
df.groupby(by=['班级','性别'])['军训'].agg({
'总分':np.sum,
'人数':np.size,
'平均值':np.mean,
'方差':np.var,
'标准差':np.std,
'最高分':np.max,
'最低分':np.min,
})
演算結果:
1.2.4まとめ
ことを心に留めておくdf.groupby [「カウントする列」]([「によってグループ」、...] =による)AGG({カラム別名:統計関数1、...})。
グルーピング基準は何ですかカウントされる列は何ですか。
1.3分布分析
1.3.1意味
各グループの分布法則を研究するための分析方法。グループ分析に基づく
1.3.2手順
1.3.2.1合計列を生成する
df['总分']=df.英语+df.体育+df.军训+df.数分+df.高代+df.解几
df['总分']#按一行求总数
演算結果:
df['总分'].describe()
演算結果:
1.3.2.2間隔を分割し、ラベルを生成する
bins=[min(df.总分)-1,400,450,max(df.总分)+1]
bins
labels=['400分以下','400到450','450及其以上']
labels
1.3.2.3生成されたばかりの合計列と間隔に応じた階層化と統計
总分分层=pd.cut(df.总分,bins,labels=labels)#cut函数
总分分层
1.3.2.4変数の生成
df['总分分层']=总分分层
df['总分分层']
1.3.2.5統計
df.groupby(by=['总分分层'])['总分'].agg({
'人数':np.size})
1.4クロス分析
1.4.1意味
クロスオーバー分析は通常、2つ以上のグループ化変数間の関係を分析するために使用されます。
1.4.2フォーマットとパラメータ
形式:
pivot_table(values、index、columns、aggfunc、fill_values)
パラメーター:
値はピボットテーブルの値を表します
インデックスはピボットテーブルのグループ化の基礎を
表し、表示列はピボットテーブルの列を表します
aggfuncは統計関数を表します
fill_valuesはNA値を表します統合置換
戻り値はピボットテーブルです
1.4.3例
from pandas import pivot_table
df.pivot_table(index=['班级','姓名'])
df.pivot_table(values=['总分'],index=['总分分层'],columns=['性别'],aggfunc=[np.size,np.mean])
演算結果:
1.5構造解析
1.5.1意味
円グラフを描く
1.5.2例
性別でクラスに分け、合計スコアを見つけます
df['总分']=df.英语+df.体育+df.军训+df.数分+df.高代+df.解几
df_pt=df.pivot_table(values=['总分'],
index=['班级'],columns=['性别'],aggfunc=[np.sum])
df_pt
df_pt.div(df_pt.sum(axis=1),axis=0)
クラス2308242の女の子は合計スコアの0.332193を占め、男の子は合計スコアの0.667807を占めました。
1.5.3まとめ
divを使用してパーセンテージを見つけます。
合計関数は合計します。axis = 1、行に追加、axis = 0、列に追加。
1.6相関分析
1.6.1意味
1.6.2相関係数と相関度の関係
1.6.3例
df.loc[:,['英语','体育','军训','解几','数分','高代']].corr()
高い代数と数の点には中程度の相関があり、解の数と数の点には中程度の相関があります。
1.6.4まとめ
loc値、相関分析のためのcorr関数。