新しい列「being_narrative」を追加したいデータフレームがあります。データフレーム情報は次のようになります。
データフレームには次の行インデックスがあります。
このコマンドを使用して、文字列型の新しい列を追加しようとしました:
explain_instance_to_explain_df_sorted_top6['being_narrative'] = ""
ただし、Setting with Copy 警告が表示されます。
_main__:1: SettingWithCopyWarning: DataFrame からスライスのコピーに値を設定しようとしています。代わりに .loc[row_indexer,col_indexer] = value を使用してみてください
別のデータフレームで上記のコマンドを使用しようとしたときに、この警告は表示されません。

さらに、この列には新しい値が割り当てられていません
explain_instance_to_explain_df_sorted_top6['being_narrative'] = ""
for index,row in explain_instance_to_explain_df_sorted_top6.iterrows() :
row['being_narrative']= str(np.where( row.obs_instance_to_explain not in (0,1) and row.features not in ('NUM_CASES'),' being '+str(row.obs_instance_to_explain),''))
問題はデータフレームにあるようです。何が問題なのですか?前もって感謝します!
アップデート:
最初に列を削除してから使用することにより、@Aryerezの提案を使用して.loc規則を使用しようとしました:
explain_instance_to_explain_df_sorted_top6.loc[:, 'being_narrative'] = ""
しかし、再び警告が表示されました。明らかにデータフレームに問題があります:




