讃岐小僧のEngineering×Techメモ

未経験から挑戦中のプログラミングや、趣味の野球や狩猟について、その他、ビジネスやテクノロジーをテーマに様々なことをつぶやく場所です。

【Python】PandasでDataFrameを操作する ~part2~

はじめに

本記事も前回と同様にPandasの操作を簡単にメモしていこうと思う。

まずは前回のおさらいでカープの選手の成績(打率・本塁打)のデータを格納するよ。

打率と本塁打をDataFrameに格納する

import numpy as np
import pandas as pd 

df = pd.DataFrame(data=[['.269','5'],['.273', '5'],['.300','2'],['.304', '18'],['.323', '1'],['.258', '1'],['.201', '3'],['.143', '0'], ['.111', '0']], columns=['AVG', 'HR'])
df.index = ['菊池','西川','メヒア', '鈴木','高橋','小窪', '田中', '石原','ジョンソン']

df


f:id:keisuke8925gdk:20190705104153p:plain

カープ選手の成績

DataFrameのあれこれを確認する

たぶんこれに関してはそんなに説明しなくてもいいと思うので簡易に乗せる。

##カラムを確認する
print(df.columns)

##インデックスを確認する
print(df.index)

##DataFrameのサイズを確認する
print(df.shape)


f:id:keisuke8925gdk:20190705104443p:plain
あれこれを確認した結果

DataFrameの情報を確認する

df.info()

f:id:keisuke8925gdk:20190705104544p:plain
df.info()の結果

上記よりAVG・HRがオブジェクトとして保存されていることが分かりましたのでデータ加工のために変更したいと思います。

※DataFrameにデータを格納する際に型指定をしないとデフォルトでオブジェクトとなる認識だがあっているのだろうか。またそう信じてDataFrameにデータを格納する際の型指定のあり方は別記事にてメモしようと思います。

AVGを不動小数点数型へ、HRを数値型へ変更してみます。

任意の列のデータ型を変更する

df['AVG'] = df['AVG'].astype(float)
df['HR'] = df['HR'].astype(int)

df.info()

f:id:keisuke8925gdk:20190705104819p:plain
データ型の変更ができました

基本統計量を表示する

df.describe()

f:id:keisuke8925gdk:20190705110702p:plain
基本統計量

基本統計量の説明

記号 意味 説明
count データ数 要素の数を表示
mean 算術平均 算術平均値を表示
std 標準偏差 列についての標準偏差を表示
min 最小値 データの最小値を表示
25% 第一四分位数 全体の最初の25%目に相当するデータを表示
50% 第二四分位数 全体の最初の中間地点のデータを表示
75% 第三四分位数 全体の最初の75%目に相当するデータを表示
Max 最大値 最大値を表示

Describeでなくても下記のようにしてデータを取得することができる。

## 算術平均
df['カラム名'].mean()

## 標準偏差
df['カラム名'].std()

## 最大値
df['カラム名'].max()

## 最小値
df['カラム名'].min()

## 分散値を取得する
df['カラム名'].var()

## ランダムにデータを取得する
df['カラム名'].sample()

いったん今回の記事はここまで。

この記事の続きはこちらからどうぞ。