を取得しているので、指定された条件がTrueであるかどうかを示す新しい列を作成しようとしています。私は列に単に "1"か "0"を書いて欲しいです。右、私はそれが= 1とFalse = 0デフォルトでは、私は整数に変換し、真の場合を考えていますpython:なぜ私はsetwithcopywarning
data_sub = data_orig.loc[~pd.isnull(data_orig['Last_Audit_Date']), :]
data_sub.reset_index(inplace=True)
data_sub['PackageLengthFlag'] = (abs(data_sub.loc['AUDIT_Primary_Length'] - data_sub.loc[:, 'PKG_SUB_Length']) > threshold)
:
は、ここに私のコードですか? (私はどこかにこれを言っ読み取り思った...)
そして、ここでは私が得続ける警告だ:
How to deal with SettingWithCopyWarning in Pandas?
Correct way to set value on a slice in pandas
Pandas SettingWithCopyWarning:私はに読み込ま
SettingWithCopyWarning: A value is trying to be set on a copy of
a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead
しかし、私は彼らが私が探していることをするとは思わない。 誰でもアドバイスしていますか?私はこの質問が痛いほど馬鹿に聞こえるかもしれないことは知っていますが、依然として助けに感謝します!
私はdata_subを作成した2行のコードを追加しました。希望が助けてくれる!
このエラーの原因はここにはありませんが、これに先立つコードの中にある可能性があります。このエラーを生成する '.copy'を呼び出さずにデータフレームのサブスライスを抽出しようとしました。 –
'data_sub'はスライスのコピーです –
サンプルdfなしで推測するのは難しいですが、これはうまくいくはずです。 data_sub ['PackageLengthFlag'] =(np。.astype(int) – Vaishali