Python学習【365日チャレンジ!】319日目のマスターU(@Udemy11)です。
きちんと税金を払っている人限定ですが、ふるさと納税はほんとにお得感がありますよ。
本来払っている所得税と住民税の一部をふるさと納税すれば、2000円を自己負担することで、いろいろな返礼品を受け取れるんですが、仕組みがややこしすぎて、やっていない人も多いんじゃないかと思います。
ほんとだったら、税金払って何も返ってこないところを、2000円余分に払えばお土産がもらえるという感じですね。
2000円余分に払ってるやん!
というツッコミが来そうですが、例えば30000円のふるさと納税をすることで、10000円程度の価値のあるおせち料理を12月31日に届けてくれるものがあります。
これだと、28000円の税金をふるさと納税で支払って、2000円でおせち料理を購入したという感じなので、8000円分得したという感じです。
ポイントが付く楽天市場でもたくさんのふるさと納税を扱っているので、かなりお得に節税ができちゃいますよ。
今年の分は12月31日までですのでお早めにどうぞ!
それでは今日も、Python学習を始めましょう。
昨日の復習
昨日は、データ解析の前処理ができるPandas
の基本を学習しました。
Pandas
は、Numpy
と同じように、配列を作成したり、配列の計算をしたり、行列の入れ替えなどもできました。
違うところは、エクセルの表のようなグラフィカルな表を出力できるところで、index
やcolumn
を指定することができるので、出力のみやすさが特徴です。
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
この配列からデータを抽出していきます。
df[0:3]
リストの抽出と同じようなコードで、インデックスが0
から3
までの行を抽出しています。
同じように、インデックスを指定して取り出すことも可能です。
df['20200101':'20200103']
loc
loc
を使うことで、抽出するcolumn
(列)を指定して値を取り出すことができます。
df.loc['20200102':'20200104', ['A', 'C']]
'20200102':'20200104'
の部分を:
だけにすれば、すべての行を抽出しますので、試してみてください。
iloc
iloc
は、index
とcolumn
の値ではなく、リストの抽出のように、インデックス値を指定して配列を抽出することができます。
インデックス値のスライスについては、ちょっとややこしいかもしれないので、こちらの記事で復習してみてください。
実際にやってみましょう。
df.iloc[0:2, 1:2]
index
が0:2
を指定しているので、インデックス値が0
の2020-01-01
と1
の2020-01-02
が抽出され、columns
1:2
と指定しているので、インデックス値が1
のB
が抽出されます。
全体抽出
DataFrame
全体に値に条件を指定して抽出することができます。
df[df > 20]
配列全体の値に対して、20
より大きい値を抽出して、条件に合致しない値は、Numpy
で学習したnan
が表示されています。
また、配列全体ではなく、column
(列)を指定して、条件に合うindex
(行)を他の列の値を含めて抽出することもできます。
df[df.A > 30]
まとめ
Pandasの配列の操作について基本的なコードを学習してきましたが、昨日、今日でかなりPandasの配列の操作方法がわかったのではないでしょうか?
普段エクセルを使っている人に親しみやすい表で表示されるので、Numpyに比べて、配列のイメージもつかみやすかったと思います。
今日はここまでにしますが、明日は、作成した配列にindex
やcolumn
を追加する方法について学習したいと思います。
それでは、明日もGood Python!