【pandas】明日から始めるデータ分析と機械学習〜準備編 Step1〜データの情報を取得する【Python】

【pandas】明日から始めるデータ分析と機械学習〜準備編 Step1〜データの情報を取得する【Python】

機械学習を勉強する為、講座を受講することにしました。

​SOLEIL DATA DOJO さんの「データ分析教育講座 白・茶・黒帯編」です。

同講座は経済産業省の「第四次産業革命スキル習得講座」の認定講座に該当します。

ここでは機械学習に必要なデータ分析の前処理で使用されるPythonのライブラリ「pandas」について勉強したのでその軌跡

pandasって?

Pythonでデータ解析を支援するライブラリです。様々なデータフォーマットに対応し、表示・操作を行うことができます。

Jupyter Notebookで使ってみた

Jupyter Notebookでの実行結果はこちら

Jupyter Notebookで実行
In [1]:
import pandas as pd
In [9]:
df = pd.read_csv('titanic.csv', sep='\t')
In [27]:
#上から5行表示
df.head()
Out[27]:
PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th… female 38.0 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S
In [12]:
#Cloumns毎のデータ件数
df.count()
Out[12]:
PassengerId    156
Survived       156
Pclass         156
Name           156
Sex            156
Age            126
SibSp          156
Parch          156
Ticket         156
Fare           156
Cabin           31
Embarked       155
dtype: int64
In [15]:
#Columns毎のDataType
df.dtypes
Out[15]:
PassengerId      int64
Survived         int64
Pclass           int64
Name            object
Sex             object
Age            float64
SibSp            int64
Parch            int64
Ticket          object
Fare           float64
Cabin           object
Embarked        object
dtype: object
In [16]:
#Cloumns毎のデータ情報(データ件数(≠空白)、NULL件数、DataType)
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 156 entries, 0 to 155
Data columns (total 12 columns):
PassengerId    156 non-null int64
Survived       156 non-null int64
Pclass         156 non-null int64
Name           156 non-null object
Sex            156 non-null object
Age            126 non-null float64
SibSp          156 non-null int64
Parch          156 non-null int64
Ticket         156 non-null object
Fare           156 non-null float64
Cabin          31 non-null object
Embarked       155 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 14.7+ KB
In [17]:
# ユニークな値の確認(Embarked→乗船地のイニシャル)
df["Embarked"].unique()
Out[17]:
array(['S', 'C', 'Q', nan], dtype=object)
In [20]:
# 全列のユニークな値の数を確認
df.apply(lambda x: x.nunique())
Out[20]:
PassengerId    156
Survived         2
Pclass           3
Name           156
Sex              2
Age             56
SibSp            6
Parch            5
Ticket         145
Fare            93
Cabin           28
Embarked         3
dtype: int64
In [22]:
#NULLデータ確認
df.isnull().head()
Out[22]:
PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
0 False False False False False False False False False False True False
1 False False False False False False False False False False False False
2 False False False False False False False False False False True False
3 False False False False False False False False False False False False
4 False False False False False False False False False False True False
In [26]:
#NULLデータ件数確認
df.isnull().sum()
Out[26]:
PassengerId      0
Survived         0
Pclass           0
Name             0
Sex              0
Age             30
SibSp            0
Parch            0
Ticket           0
Fare             0
Cabin          125
Embarked         1
dtype: int64

pandas 関数(めっちゃ初歩)

実際に使ってみた関数の一覧です。

実行結果がどうなるかは上で記載しているJupyterNotebookの実行結果をご覧ください。

pandasのimport

import pandas as pd

CSV読み込み〜表示

df = pd.read_csv('titanic.csv', sep='\t')
#上から5行表示
df.head()
#全件表示
#df

列毎の件数、情報表示

#Cloumns毎のデータ件数
df.count()
#Cloumns毎のデータ情報(データ件数(≠空白)、NULL件数、DataType)
df.info()

ユニーク値の情報を取得

# ユニークな値の確認(Embarked→乗船地のイニシャル)
df["Embarked"].unique()
# 全列のユニークな値の数を確認
df.apply(lambda x: x.nunique())

NULL値の情報を取得

#NULLデータ確認
df.isnull().head()
#NULLデータ件数確認
df.isnull().sum()

Pythonカテゴリの最新記事