Python Pandasの基本的な使い方

Python学習【365日チャレンジ!】319日目のマスターU(@Udemy11)です。

きちんと税金を払っている人限定ですが、ふるさと納税はほんとにお得感がありますよ。

本来払っている所得税と住民税の一部をふるさと納税すれば、2000円を自己負担することで、いろいろな返礼品を受け取れるんですが、仕組みがややこしすぎて、やっていない人も多いんじゃないかと思います。

ほんとだったら、税金払って何も返ってこないところを、2000円余分に払えばお土産がもらえるという感じですね。

2000円余分に払ってるやん!

というツッコミが来そうですが、例えば30000円のふるさと納税をすることで、10000円程度の価値のあるおせち料理を12月31日に届けてくれるものがあります。

これだと、28000円の税金をふるさと納税で支払って、2000円でおせち料理を購入したという感じなので、8000円分得したという感じです。

ポイントが付く楽天市場でもたくさんのふるさと納税を扱っているので、かなりお得に節税ができちゃいますよ。

今年の分は12月31日までですのでお早めにどうぞ!

それでは今日も、Python学習を始めましょう。

昨日の復習

昨日は、データ解析の前処理ができるPandasの基本を学習しました。

Pandasは、Numpyと同じように、配列を作成したり、配列の計算をしたり、行列の入れ替えなどもできました。

違うところは、エクセルの表のようなグラフィカルな表を出力できるところで、indexcolumnを指定することができるので、出力のみやすさが特徴です。

Pandasの基本の基本については、、昨日の記事をごらんください。

今日は、引き続き、Pandasの基本を学習します。

データの抽出

昨日は、Pandasで配列を作成して、指定した列を基準に並び替えすることろまで学習しました。

その続きで、いろいろな条件を付けて配列からデータを抽出してみますが、まずはPandasで配列を作成します。

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(1, 50, (6, 4)), index=pd.date_range('20200101', periods=6), columns=['A', 'B', 'C', 'D'])
df

Python Pandas 2次元配列

この配列からデータを抽出していきます。

df[0:3]

Python Pandasの基本的な使い方

リストの抽出と同じようなコードで、インデックスがからまでの行を抽出しています。

同じように、インデックスを指定して取り出すことも可能です。

df['20200101':'20200103']

Python Pandasの基本的な使い方

loc

locを使うことで、抽出するcolumn(列)を指定して値を取り出すことができます。

df.loc['20200102':'20200104', ['A', 'C']]

Python Pandasの基本的な使い方

'20200102':'20200104'の部分を:だけにすれば、すべての行を抽出しますので、試してみてください。

iloc

ilocは、indexcolumnの値ではなく、リストの抽出のように、インデックス値を指定して配列を抽出することができます。

インデックス値のスライスについては、ちょっとややこしいかもしれないので、こちらの記事で復習してみてください。

実際にやってみましょう。

df.iloc[0:2, 1:2]

Python Pandasの基本的な使い方

index0:2を指定しているので、インデックス値が02020-01-0112020-01-02が抽出され、columns1:2と指定しているので、インデックス値が1Bが抽出されます。

全体抽出

DataFrame全体に値に条件を指定して抽出することができます。

df[df > 20]

Python Pandasの基本的な使い方

配列全体の値に対して、20より大きい値を抽出して、条件に合致しない値は、Numpyで学習したnanが表示されています。

また、配列全体ではなく、column(列)を指定して、条件に合うindex(行)を他の列の値を含めて抽出することもできます。

df[df.A > 30]

Python Pandasの基本的な使い方

まとめ

Pandasの配列の操作について基本的なコードを学習してきましたが、昨日、今日でかなりPandasの配列の操作方法がわかったのではないでしょうか?

普段エクセルを使っている人に親しみやすい表で表示されるので、Numpyに比べて、配列のイメージもつかみやすかったと思います。

今日はここまでにしますが、明日は、作成した配列にindexcolumnを追加する方法について学習したいと思います。

それでは、明日もGood Python!