【pandas】100日チャレンジ : 6日目 DataFrame内のDataを書き換え

※この記事は2020年11月9日に更新されました。

ポイント

プログラミング学習が義務教育でも取り入れられるようになり、ほぼすべての人が避けては通れない時代に突入してしまいました。

基本的にはローコードやノーコードテクノロジーが発達し、個人で隅々まで覚える必要はないとも言えますが、やはり自在に操れればまさに100人力とも言えます。

Pythonやpandasの技術があなたがやりたい何かに合致した場合、是非100日でサクッと覚えてしまいましょう。

100日でざっくりと基礎を身に着けられるように構成しています。

Pythonコース【.pro】 Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学ぶオンライン講座

6日目 DataFrame内のDataを書き換え

さて、前回からの流れで進めていきましょう。

【pandas】100日チャレンジ : 5日目 DataFrameからDataを取得 (サイト内記事)

行と列の名前を変更するrenameメソッドは4日目で (サイト内記事)

データを指定して取得&書き換え

念のため元データはこちらです。

ここから.locで取得してみます。

df.loc["水曜日", "kotaro"]

(df).loc = 「ねー取ってきて」

[] = 水曜日のkotaroを。

というもう普通の会話みたいな指示になっています。

データの書き換え

df.loc["水曜日", "kotaro"]

このデータを10に変更してください。

df.loc["水曜日", "kotaro"]=10
df

まとめて書き換え

さて、次に、Masakoの列をまとめて変更してみましょう。

[3, 6, 9]となっていますが。

これを[100, 200, 300]としてみましょう。

df.loc[:,"Masako"]=["100", "200", "300"]
df

もちろん文字列にも換えられます。

df.loc[:,"Masako"]=["お休み", "200回", "交代"]
df

スライスで取得して書き換え

指定して範囲をスライスして取得することもできます。

df.loc[:,"Taro":"kotaro"]
df.iloc[:,0:2]

もちろんilocでも取得可能です。

get_locでナンバリングを取得&書き換え

get_locでナンバリングを確認することができます。

少なければ数えれば済む話ですが、数が多いと混乱しますので、get_locで取得しましょう。

df.index.get_loc("火曜日")

このように取得したいindexを指定するとナンバーが表示されます。

もちろんcolumnsも同じです。

df.columns.get_loc("kotaro")

iloc + get_locで書き換え

df.iloc[df.index.get_loc("火曜日"),df.columns.get_loc("kotaro")]=1000
df

これで火曜日のkotaroの数値を1000に変更できました。

おまけ

dtypesでデータ型の確認

df.dtypes

でデータ型を確認することができますので、覚えておきましょう。

shapeで行数と列数を確認

df.shape

で行数と列数を表示することができます。

これも少ないと恩恵を感じにくいですが、膨大な量になってくると必要になってきますので覚えてしまいましょう。

行と列の入れ替え

df.T

で行と列を入れ替えることができます。

これは株の分析などでは重宝しそうですね。

過去の膨大なデータを自分流にアレンジして整理していきたい場合に重宝します。