Pythonで統計解析の勉強日記 1日目
本で読んだことを勉強しつつ、コピペにならないように注意しながら書いていきます。
読んでるのはこの本。
間違った解釈等あれば突っ込んでください。むしろ目に留めてくださった方、指摘、感想、もろもろどうかお願いします。
ちなみにPythonはjupyter notebook上で動かしてます。
Pythonでcsvファイルの読み込み
Pandasのインポート
Pandasが必須。インポートは
import pandas as pd
っていちばん上に書いておく。
csvファイル読み込み
変数名 = pd.read_csv('ディレクトリパス/csvファイル名' ,index_col = 'インデックス名')
で、インデックスを指定してcsvファイルを読み込める。DataFrameとして読み込んでくれてる。
csvファイルがどこにあるかちゃんと確認した上で、csvファイル名の指定をしましょう。「こんなのない!」って怒られちゃうので。
データの表示
(格納した変数名)
って叩いて出力すればOK。綺麗に整形して表示してくれました。
ちなみに、
print(格納した変数名)
って書いても出力されます。こっちの方がちょっとシンプルで整形も雑なので見にくい。
特定のデータ抽出
DataFrameから一部の列を抽出したいときは、
csvファイル格納した変数名['抽出したい列の名称']
で抽出してくれます。
ただし、返ってくるデータ構造はSeriesという異なる構造であることに注意。
DataFrameは二次元の表データのためのデータ構造、SeriesはDataFrameが1次元となったもの、という認識で大丈夫。
データの大きさを出力する
変数名.shape
でデータの大きさを表示。
二次元なら
(データの数、変数の数)
として出力されます。
変数について
質的変数と量的変数
- 質的変数
アンケート結果でよくある1〜5で良し悪しを測ってもらった時のデータや、血液型の種類など、種類を区別するための変数。
特に「男性と女性」「習慣の有無」などの2種類の値しか取らないものは2値変数と呼ばれることもある。
- 量的変数
テストの点数、身長、体重などといった、量を表現する変数のこと。
ただし、2値変数は処理のしやすさのために0と1になっている場合もあるため、数字のデータだからと言って量的変数とは限らない。
尺度水準
質的変数は「名義尺度」と「順序尺度」、量的変数は「感覚尺度」と「比例尺度」にそれぞれ細かく分類できる。
この4つの細かい分類を尺度水準と呼ぶ。
- 名義尺度
ただの分類。「区別」することがいちばんの目的。それがそのデータと等しいかどうかに意味がある。
- 順序尺度
順序関係や大小関係に意味がある変数。成績の順位、アンケートの満足度。
満足度5>満足度1 などの大小関係を図ることはできるが、この尺度そのものの数値が計算可能なものかどうかを主張することは不可能。
- 間隔尺度
大小関係に加えて、差に意味がある変数。例としては西暦や温度など。
温度でいうなら、温度の高低だとか、温度の差には意味があるが、「100℃は50℃の2倍高い」などということはできない。
- 比例尺度
間隔尺度の意味にさらに比の関係まで加えたもの。長さや重さ。
「長さ30cmのものは長さ60cmの半分だ」と主張することもできるし、「長さ60cmの方が長い」と主張することもできる。もちろん「60cmと30cmの間には30cmの差がある」という事実も意味がきちんとある。
比例尺度と間隔尺度は区別が難しいことがあるが、「明確にゼロの概念が存在するかどうか」で判断するとわかりやすいらしい。
離散型変数と連続型変数
いろんな数学の分野で出てくる、デジタルとアナログみたいな話。
- 離散型変数
0,1,2,........のように、くっきり数字が分かれており、2つの隣り合った数値の間には値が存在しないもの。整数列や自然数列で表されるデータは離散型。
- 連続型変数
身長や体重など、明確にくっきり分かれた数字を取ることがないもの。2つの変数を取ると必ず間になにかしら数値が存在する。小数点以下のデータ管理が必要なもの、と考えるとわかりやすい。
ただし、データ測定精度の問題で離散型に見えるデータになってしまう場合もある。その際は仮に離散型でも連続型とみなしてデータ処理を行う。
集中切れたから今日のPythonで統計解析はここまで!