こちらの参考資料のものと同じような対処法だったので、自分用にまとめておきます。
# エラー文
#A value is trying to be set on a copy of a slice from a DataFrame.
# Try using .loc[row_indexer,col_indexer] = value instead
こんな感じの、エラーが発生。書いたコードは以下。
df['sample'] = df['sample].astype(int)
原因は、参照するのかコピーするのかを明示していなかったこと。
この記述では、元のdf['sample']をいじるのか、もう一個コピーを作成してそちらをいじるのか不明な所です。
なので、
## 一度copyの作成
df1 = df.copy()
df1['sample'] = df1['sample].astype(int)
コピーを作成して、対処すると警告文が出てこなくなります。
参照渡しではなく、コピーを作ってあげることにより解決!!!
※警告文には.locを使いましょう的な文がありますが、
今回では関係なかったですね。そこが詰まったところではあります。
これは、chained indexing(隠れた連鎖)と呼ばれるらしいです。
参考資料
https://qiita.com/HEM_SP/items/56cd62a1c000d342bd70