連鎖代入の背後にある考え方を理解しており、警告が表示されたとき
Pandas: SettingWithCopyWarning
元のデータ フレームではなく、コピーに書き込んでいることを知らせるためです。
しかし、元のデータ フレームに実際に書き込んでいるように、.loc または .ix() または .iloc() を正常に実装できないようです。
「サイズ」列がnullでない場合、値をnullに設定したいと思います。私はもう試した:
import numpy as np
df.loc[df['size'].notnull()].value=np.nan
また、replace 関数をいじってみましたが、役に立ちませんでした (置き換えられる値はすべてゼロであるため、.replace(0, np.nan) の実装も機能します)。