(それは、この最小限例えば0である)どのようにmerged_data.duplicated
は0ではないだろうということができpandas - なぜ左の結合に新しい値と重複が導入されるのですか?
df1 = pd.DataFrame({'idNo':[1,2,3], 'value_1':[0,1,0]})
df2 = pd.DataFrame({'idNo':[1,2,3], 'value_2':[1,1,0]})
merged_data = pd.merge(df1, df2, on='idNo', how='left')
print(df1.shape)
print(merged_data.shape)
merged_data.duplicated(subset=['idNo']).sum()
のような操作を実行しますか?それが0より大きい場合、重複を安全に削除できますか?パンダは、何かを乱しているインデックスを介して参加していますか?
私の実際のデータをCSVから読み込むには、このような左結合操作で重複した値がたくさん出てくるが、その理由を理解していないという問題があります。重複を単に削除するのは安全ですか?
編集
これは基本的に列を連結するだけです。たぶん、重複を起こさないパンダでのより良い操作がありますか?
ご迷惑をおかけして申し訳ございません。 'merged_data'自体はあなたに驚くでしょうか?あなたは 'merged_data.duplicated'について驚くべきことをもっと明確にすることができますか? – Denziloe
私にとっては、 'merged_data'に二重引用符が含まれているのは驚くべきことです。私は列だけを連結するので。最新の編集もご覧ください。 –
この例では重複はありません。結果として得られるデータフレーム 'merged_data'は3 x 3であり、行は全て異なっています。これがあなたが望む結果でない場合、DataFramesをマージしたいと思うようには聞こえません。質問を編集して、結果をどのように見せたいかの例を含めることをお勧めします。 – Denziloe