目次
- 1 はじめに
- 2 Pythonについて
- 3 Pandasのimport
- 4 CSVファイルの読み込み
- 5 エクセルファイルの読み込み
- 6 表をすべて出力
- 7 表の先頭部分を出力
- 8 表の末尾部分を出力
- 9 表のカラムを出力
- 10 表の行数と列数を表示
- 11 平均値を出力
- 12 中央値を出力
- 13 標準偏差を出力
- 14 最大値を出力
- 15 最小値を出力
- 16 情報をまとめて出力
- 17 表のカラムをグループ分けして要素数を数える
- 18 値が入っていないところに代入する
- 19 値が入っていないか判定する
- 20 同一カラムに存在する文字列をすべて出力する
- 21 CSVファイルをエクスポート
- 22 エクセルファイルをエクスポート
- 23 Pythonの勉強方法【おまけ】
- 24 その他の記事
- 25 おわりに
はじめに
今回はPythonデータ分析などに用いられるPandasについて初心者向けに簡単な文法解説をしていきたいと思います。
Pandasを用いれば簡単に表のデータを適当に処理して、エクセルファイルやCSVファイルなどに出力することができます。
エクセルなどに一つ一つ入力するよりもプログラミングで一括操作することができます。
何度も使われる操作はコードとして残しておけば次に同じ操作をするときにプログラムを回せば一瞬で操作を行うことができて、便利です。
Pythonの案件をこなしたい方やPythonを扱って作業を短縮化したい方はみておいて損はない内容となっています。
(今回私はJupiterNotebookを用いてpandasを扱っています。)
Pythonについて
Pythonとは人工知能、機械学習、ディープラーニング、データ解析などに特化しており、2020年プログラミング言語人気ランキング1位になっているプログラミング言語です。
Pythonについて詳しく知りたい方はこちらのウェブサイトをどうぞ。
Pandasのimport
import pandas as pd
pandasを扱うときには必ずこのようにimportしてから始めましょう。
CSVファイルの読み込み
df = pd.read_csv('ファイル名')
ファイル名の部分に扱いたいCSVファイルの名前を指定してあげてください。
エクセルファイルの読み込み
df = pd.read_excel('ファイル名')
同じくエクセルファイルもこのように読み込んであげましょう。
表をすべて出力
df
至ってシンプルです。
しかしdfと出力すると表が長すぎる場合はこれから説明するhead()やtail()を用いて先頭部分や末尾部分だけを出力してあげましょう。
表の先頭部分を出力
df.head(2)
head()の中の数字は先頭の行から何行表示させるかを表しています。
今回は2を指定しているので先頭から2行表示させることができます。
表の末尾部分を出力
df.tail(3)
tail()の中の数字も同じく末尾から何行表示させるかを表しています。
今回は3を指定しているので末尾から3行表示させることができます。
表のカラムを出力
df.columns
カラムを出力させることができます。
Index([‘(カラム1)’,'(カラム2),'(カラム3)’・・・・],dtype=’object’)
という感じでカラムが配列のように順番に表示されます。
表の行数と列数を表示
df.shape
(行数,列数)と表示されます。
例えば(10,5)と表示されれば10行5列の表ということです。
平均値を出力
df.mean()
カラムごとの平均値を出力します。
中央値を出力
df.median()
カラムごとの中央値を出力します。
標準偏差を出力
df.std()
カラムごとの標準偏差を出力します。
最大値を出力
df.max()
カラムごとの最大値を出力します。
最小値を出力
df.min()
カラムごとの最小値を出力します。
情報をまとめて出力
df.describe()
describeを用いれば上記の数学的な情報をまとめて出力させることができます。
mean,std,min,maxなど上記の数学的情報を一気に表示させることができます。
表のカラムをグループ分けして要素数を数える
df['カラム名'].value_counts()
dfのカラムの中にある文字列で場合わけして要素数を数えます。
例えばカラムが’group’でAグループが4つ、Bグループが2つあるとしたら
A 4
B 2
のように自分で数えなくても出力してくれます。
表が数えられないくらい要素が多いときに便利なメソッドです。
値が入っていないところに代入する
df.fillna(0)
表の中で値が入っていないところに0を詰め込むことができます。
かっこの数字は0以外を指定することもできますがわかりにくくなるので0が一般的です。
値が入っていないか判定する
df.isnull()
isnull()を用いれば値が入っているところはFalseを返し、値が入っていないところはTrueを返します。
同一カラムに存在する文字列をすべて出力する
df['カラム名'].unique()
unique()メソッドを用いれば同一カラムに存在する文字列をすべて出力することができます。
例えばフルーツカラムに「りんご」、「ぶどう」、「みかん」という3種類の要素があったら
array(['りんご','ぶどう','みかん'],dtype=object)
と表示されます。
CSVファイルをエクスポート
df.to_csv('ファイル名',index=False)
csv出力したいファイル名を最初に指定してあげましょう。
またindex=Falseとはindex番号を入れずに出力してあげるということです。
index番号を入れたい場合は書かなくて大丈夫です。
エクセルファイルをエクスポート
df.to_excel('ファイル名',index=False)
同じくエクセルファイルもこのようにエクスポートしてあげましょう。
今回紹介するPandasのメソッドは以上です。
もっとpandasのデータを扱って操作していきたい方に向けておすすめの勉強方法も紹介させていただきます。
Pythonの勉強方法【おまけ】
Pythonの基礎文法を勉強するにはUdemyというオンラインプログラミング学習プラットフォームがおすすめです。
具体的に言うとこちらの講座です。
この講座だけで基礎文法だけでなく実践的な応用スキルまで身につけることができます。
めちゃくちゃわかりやすい講座なので気になる方は是非みてみてください。
私が受けたPythonの講座の中では最も良かったですし、この講座だけで案件を獲得できるようになるレベルまでプログラミングを上達させることができると思います。
実際多くの人がWeb上で高評価をしていてUdemyのPython講座といえばこの講座と言われているほどです。
今回紹介したPandasも分かりやすく説明してくれています。
またPandasの演習としてYoutubeのこちらの動画もおすすめです。
Pandasの力試しに持ってこいの動画となっています。
今からPandasを勉強する人も一度目を通してみるのもいいかなと思います。
その他の記事
おわりに
今回はデータを扱うときに便利なPandasについて紹介しました。
Pandasを扱えるようになれば業務の自動化や短縮化が可能になります。
エクセルにいちいちデータを打ち込んだり数え上げたりするのがめんどくさい方はPythonのPandasを用いると楽なのではないでしょうか。
Pythonの基礎を学び終えた方や案件を獲得したい方は勉強しておきたい内容です。
またpandasとセットでnumpyを使うことも多いのでこちらの記事も一緒に見ておくことをおすすめします。
興味がある方は上記のUdemyのコースを受けてみるのも良いかと思います。
コメント