こんにちは、しらすです。
Pythonでデータ処理を始めましたが、基本的に使うコマンドが共通なので、メモとして残しておきたいと思います。
データはKaggleからTitanicのTrainingデータを使うことにします。
ライブラリ読み込み
import numpy as np # 計算系
import pandas as pd # データ処理系
import matplotlib.pyplot as plt # 表示系
データ読み書き
csvからデータを読み込み
df = pd.read_csv('data/test.csv')
df = pd.read_csv('data/test.csv', index_col=[4]) # indexにする列を指定して読み込み
csvにデータ書き出し
df.to_csv("output.csv") # 全て書き出し
df.to_csv("output.csv", columns=['Survived','Name','Ticket','Cabin']) # 指定列のみ書き出し
基本情報
データフレームの形状を表示
df.shape
![](https://teshi-learn.com/wp-content/uploads/2020/05/image-10.jpg)
各列のタイトル、データ数、nullの有無、データ型を表示
df.info()
![](https://teshi-learn.com/wp-content/uploads/2020/05/image-12.jpg)
先頭行のIndexを取得
df.columns #全てのIndexを取得
df.select_dtypes(include=[np.number]).columns #数値データのみ
df.select_dtypes(include=[np.object]).columns #オブジェクトデータのみ
![](https://teshi-learn.com/wp-content/uploads/2020/05/image-13.jpg)
指定したオブジェクトデータ列
df["Embarked"].unique() # 指定列の全ユニーク文字列を取得
df['Embarked'].value_counts() # 指定列の全ユニーク文字列の頻度を表示
![](https://teshi-learn.com/wp-content/uploads/2020/05/image-14.jpg)
![](https://teshi-learn.com/wp-content/uploads/2020/05/image-15.jpg)
基本統計量の表示
df.describe() # 数値データ列の基本情報(平均、最小、最大)
df.describe(include = 'O') # オブジェクト型データ列の基本情報(各要素数、文字列の種類数、最頻出の文字列)
![](https://teshi-learn.com/wp-content/uploads/2020/05/image-16.jpg)
![](https://teshi-learn.com/wp-content/uploads/2020/05/image-17.jpg)
項目 | 説明 |
---|---|
count | 要素の数 |
unique | 記載されている文字列の種類数 |
top | 最頻出の文字列 |
freq | 最頻出の文字列の出現回数 |
各列の相関係数を表示
df.corr()
df.corr()["Pclass"].sort_values() #指定の列だけ他の列との相関係数を調べてソートして表示
![](https://teshi-learn.com/wp-content/uploads/2020/05/image-18.jpg)
![](https://teshi-learn.com/wp-content/uploads/2020/05/image-19.jpg)
各列のユニーク値の種類を表示
df.apply(lambda x: x.nunique())
![](https://teshi-learn.com/wp-content/uploads/2020/05/image-20.jpg)
欠損値の数の確認
df.isnull().sum()
![](https://teshi-learn.com/wp-content/uploads/2020/05/image-21.jpg)
ある列のユニーク文字列別に他の列に対する値の平均を提示
df.groupby('Sex').mean()
![](https://teshi-learn.com/wp-content/uploads/2020/05/image-22.jpg)
ピボットによる集計
df.pivot_table(values='Fare', index='Sex', columns='Embarked', aggfunc='sum')
![](https://teshi-learn.com/wp-content/uploads/2020/05/image-23.jpg)
参考
データ解析の序盤で使える基本的なコマンド集
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJTkwUHl0aG9uJUUzJTgwJTkxJUUzJTgzJTg3JUUzJTgzJUJDJUUzJTgyJUJGJUU1JTg4JTg2JUU2JTlFJTkwJUUzJTgxJUFFJUU1JUJBJThGJUU3JTlCJUE0JUUzJTgxJUE3JUUzJTgyJTg4JUUzJTgxJThGJUU0JUJEJUJGJUUzJTgxJTg2JUU2JTg5JThCJUU2JUIzJTk1JUUzJTgzJUExJUUzJTgzJUEyJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz0wNTQ4ZjJmM2EwOGI1NGVhNjI1OTJjMmRhNDAxNmY5OQ&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDByeW8xMTEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTIwYjhmOWU1MDVlMGY5MmM4NzA0NTQyYjI5MDA0NjUz&blend-x=142&blend-y=486&blend-mode=normal&s=f634f938c728b9b0d28394c93d6fc31e)
【Python】データ分析の序盤でよく使う手法メモ - Qiita
Kaggleなどでデータ分析を行う際の探索的データ解析(EDA)の段階で、データの構造を把握する目的で自分自身がよく使う便利な関数やライブラリをまとめました。データはKaggleのTitanic…
データをグラフ化する方法
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJTkwUHl0aG9uJUUzJTgwJTkxc2VhYm9ybiVFMyU4MSVBRSVFMyU4MiVCMCVFMyU4MyVBOSVFMyU4MyU5NSVFMyU4MiU5MiVFNiVCNCVCQiVFNyU5NCVBOCVFMyU4MSU5NyVFMyU4MSU5RiVFMyU4MyU4NyVFMyU4MyVCQyVFMyU4MiVCRiVFNSU4OCU4NiVFNiU5RSU5MCVFMyU4MSVBRSVFNiU4OSU4QiVFNiVCMyU5NSVFMyU4MyVBMSVFMyU4MyVBMiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9MmU1YWNhYTY4YzYxYzViZWM0MzJiZmE0ZjgwYjQwNDA&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDByeW8xMTEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTIwYjhmOWU1MDVlMGY5MmM4NzA0NTQyYjI5MDA0NjUz&blend-x=142&blend-y=486&blend-mode=normal&s=43af9b16a7cb7765cd9dc6cbaa3300d6)
【Python】seabornのグラフを活用したデータ分析の手法メモ - Qiita
#はじめにKaggleなどでデータ分析を行う際の探索的データ解析(EDA)の段階で、自分自身がよく使うデータのビジュアル化、グラフ化に関する手法をまとめました。今回はmatplotlibのラッ…
欠損値の処理用のコマンド集
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJTkwUHl0aG9uJUUzJTgwJTkxJUUzJTgzJTg3JUUzJTgzJUJDJUUzJTgyJUJGJUU1JTg4JTg2JUU2JTlFJTkwJUUzJTgxJUFCJUUzJTgxJThBJUUzJTgxJTkxJUUzJTgyJThCJUU2JUFDJUEwJUU2JTkwJThEJUU1JTgwJUE0JUU1JUFGJUJFJUU1JUJGJTlDJUUzJTgxJUFFJUU2JTg5JThCJUU2JUIzJTk1JUUzJTgzJUExJUUzJTgzJUEyJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz0xOGE3OGZhNzgyNWNkNDIyMWE2NTQ0YzU4YmUyZjg2ZQ&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDByeW8xMTEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTIwYjhmOWU1MDVlMGY5MmM4NzA0NTQyYjI5MDA0NjUz&blend-x=142&blend-y=486&blend-mode=normal&s=9c4ca1a74d0590adb16f47c2c0ea58e8)
【Python】データ分析における欠損値対応の手法メモ - Qiita
#はじめにデータ分析において、欠損値の処理は1つの重要なポイントだと思っています。Kaggleでもスピード重視でこのパートを雑に行うとパフォーマンスが上がりません。この記事では、コンペ等の分析…
コメント