1
に.LOCと値:上書きナンは、私は次のコード行に必要なタスクを解決しようとしたパンダ
df['Age'][np.isnan(df["Age"])] = rand1
しかし、これは「SettingWithCopyWarning」を提起し、私は見つけると思います.loc
機能を使用してデータフレームのNan値(列 'Age')を設定する方が良い方法です。
私はすでにdocumentationを見ましたが、この問題をどのように修正できるかはまだ分かりません。 .loc
で解決策を見つけることができませんでした。
私は何かヒントやアドバイスをいただければ幸いです。あなたがfillna
を必要とするため、いくつかの値にNaN
を交換
おかげであなたの助けのためにたくさん。コードは正常に動作します。 .loc関数の内部で何が起こっているのかを教えてください。私は当初、年齢などのインデックスにアクセスするためだと思っていました。なぜ私たちは.isnanの部分を渡して、もう一度Ageの列を渡していますか?ドキュメントを読んだ後でさえ、これを理解するのは本当に苦労します。 – ErnieandBert
これは、 'np.isnan(df ['Age'])'がブール値のマスクを返し、 'loc'との組み合わせで値が' True 'の 'rand1'に設定されているので機能します。私はより良い説明がこの[パンダチュートリアル](http://tomaugspurger.github.io/modern-1.html)にあると思う - タイトルSettingWithCopy'をチェックする(別のマスク 'f ['a'] <= 3'を使う – jezrael
そして、このチュートリアルはこちら[http://pandas.pydata.org/pandas-docs/stable/tutorials.html] - 'モダンパンダ'(非常に良い説明) – jezrael