0

新しい列「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'] = ""

しかし、再び警告が表示されました。明らかにデータフレームに問題があります:

ここに画像の説明を入力

4

0 に答える 0