とりあえず、警告文に
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
とありますが、こちらのリンク先はご覧になったのでしょうか?
そちらに詳しく原因が書かれております。
提示していただいたソースコードだけからは実際の原因を探ることはできませんので、あるていど想定となってしまうのですが、おそらく test_correlation
はなんかしら別のデータフレームから
Python
1test_correlation = original_df[original_df['Column of something'] == 'Some value']
等と何かしらのインデックス操作を行って取得したものなのではないでしょうか。
その場合 test_correction
は操作内容によって
test_correction
はoriginal_df
の Copyとなる
test_correction
はoriginal_df
の View となる
のどちらかになります。
どちらの場合でもこれらの値を参照している分には問題がないのですが、書き換えが生じた場合上記のどちらかによって
- Copyの場合は
original_df
の内容は変わらない
- Viewの場合は
original_df
の内容も書き換わる
と、元の original_df
に対する影響が変わってきます。
当然Pandasはユーザーがどちらの意図で使用したかが分かりませんので、確認を即すために質問にある警告が表示されます。
warningなので意図的な動作をしているのであれば、無視して構わないと思いますが、もし前段の処理がコピーを想定して行っている場合は明示的に copy()
を呼んで
Python
1test_correlation = original_df[original_df['Column of something'] == 'Some value'].copy()
などとすることで回避できるかと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/05 09:54