いままでもごく普通にpandas を使ってきたのですが、SettingWIthCopy warning というのが出たので、出ないようにしました。というメモ。
pandas で要素を書き換え
pandas で行番号と列名を指定して値を書き換えようとしたら、SettingWithCopy warning が出ていたので、以下のようにしたら出なくなった。
import pandas as pd
df = pd.read_csv("./test.csv")
print(df)
df.loc[0,"value"]=5
print(df)
を実行すると
name value
0 Apple 3
1 Banana 2
name value
0 Apple 5
1 Banana 2
pandas.orgにある解説
本家本元にしっかり書いてありました。link
日本語で詳しく解説してくれている方がいました。
chained indexing というのすると警告や予期せぬ動作になるそうです。chained indexing にならないように、locなどで一発で要素にアクセスするようにしてあげれば良さそうです。(理解、合っているかな。。。^^;)
まとめ
ひとつの投稿にするネタでもないかもしれませんが、もし理解を深められたら追記します。
(2021/05/23)