を見つける
を.loc [row_indexer、col_indexer] = valueを使用してデータフレームを変更しようとする場合、setwithcopywarningを使用してデータフレームを変更しようとする場合、
を見つけます。持続します。この問題は、.copy()メソッドを呼び出すことなく、別のデータフレームからデータフレームスライスにアクセスすることに起因します。
pandasをpdとしてインポートします d = {'col1':[1、2、3、4]、 'col2':[3、4、5、6]} df = pd.dataframe(data = d) df ['new_column'] = none df.loc [0、 'new_column'] = 100最初に、警告はありません。ただし、DFのサブセットに基づいて新しいデータフレームを作成する:
import pandas as pd d = {'col1': [1, 2, 3, 4], 'col2': [3, 4, 5, 6]} df = pd.DataFrame(data=d) df['new_column'] = None df.loc[0, 'new_column'] = 100new_df = df.loc [df.col1> 2]
を作成し、.loc:
import pandas as pd d = {'col1': [1, 2, 3, 4], 'col2': [3, 4, 5, 6]} df = pd.DataFrame(data=d) df['new_column'] = None df.loc[0, 'new_column'] = 100new_df.loc [2、 'new_column'] = 100
トリガー警告。既存のデータフレームのサブセットに基づく新しいデータフレーム。 > 2] .copy() new_df_copy.loc [2、 'new_column'] = 100
import pandas as pd d = {'col1': [1, 2, 3, 4], 'col2': [3, 4, 5, 6]} df = pd.DataFrame(data=d) df['new_column'] = None df.loc[0, 'new_column'] = 100.copy()を呼び出すことにより、サブセットの独立したコピーを作成し、値を変更するときに警告を回避します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3