1
次の簡単な例を見てみると:「?」pandas dataFrameで元のオブジェクトに作用しないのはなぜですか?
import pandas as pd
l1 = [1,2,'?']
df = pd.DataFrame(l1)
df.replace('?',3)
なぜこれが代わるものではありません。データフレームdfで? dfが参照するオブジェクトは、replaceが呼び出されたときに影響を受けませんか?
私が書く場合:
df = df.replace('?',3)
その後df.replaceは、の値を置き換えた新しいデータフレームを返しますか? with
私は、オブジェクトに作用する関数がオブジェクト自体を変更できない理由について混乱しています。
それができます!しかし、開発者は、デフォルトでは、編集するのではなくコピーを返すべきであると判断しました。 IMO、これはより安全な賭けです。ただし、適切なパラメータを使用すると、オブジェクト自体を変更するために 'replace'を使うことができます。あなたは[** documentation **](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.replace.html) – piRSquared