pandas分析虎の巻
データを見る際にpandasでよく使う操作を、しょっちゅう忘れるのでまとめておきます。
虎の巻自体は以下にあります。
github.com
準備
今回はirisデータを使います。
これはsklearnに入っています。
from sklearn.datasets import load_iris iris = load_iris() iris.data #array([[ 5.1, 3.5, 1.4, 0.2], # [ 4.9, 3. , 1.4, 0.2], # .... # [ 6.5, 3. , 5.2, 2. ], # [ 6.2, 3.4, 5.4, 2.3], # [ 5.9, 3. , 5.1, 1.8]])
また、データフレームとグラフ描写などで以下があると良いでしょう。
import bumpy as np import pandas as pd import seaborn as sns from matplotlib import pyplot as plt
データフレームの操作
#データフレーム化 iris_pd = pd.DataFrame(iris.data) #カラム名の付け替え iris_pd.columns = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width'] #データフレームの一部の表示 iris_pd.head() iris_pd.tail()
データの概観の確認
#要約統計量
iris_pd.describe()
#型、nullの有無のチェック iris_pd.info() #<class 'pandas.core.frame.DataFrame'> #RangeIndex: 150 entries, 0 to 149 #Data columns (total 4 columns): #sepal_length 150 non-null float64 #sepal_width 150 non-null float64 #petal_length 150 non-null float64 #petal_width 150 non-null float64 #dtypes: float64(4) #memory usage: 4.8 KB #nullの個数を数える iris_pd.isnull().sum() #sepal_length 0 #sepal_width 0 #petal_length 0 #petal_width 0 #dtype: int64 #nullを埋める iris_pd.fillna(value = 1)
データの分布の確認
自分は散布図とヒストグラムでの確認が多いです。
#散布図 sns.set(style='darkgrid') sns.scatterplot(data=iris_pd, x='sepal_length', y='petal_length') plt.show() #または iris_pd.plot.scatter(x='sepal_length', y='petal_length') plt.show()
#ヒストグラム sns.distplot(iris_pd["sepal_length"], kde=False, rug=True, bins=10) plt.show() #分布付きのヒストグラムの例 sns.distplot(iris_pd["sepal_length"]) plt.show()