0
をdrop_duplicated動作しません:パンダ重複と「変更」という名前のデータセットがRIDにより、マージから得られた適切
changes.head()
DX_bl RID DX_m12
0 1 3 1
1 0 4 0
2 0 6 0
3 0 8 0
4 1 10 1
私はDX_blの行を特定することを意図して2次のコマンドを使用しましたし、 DX_m12が異なっている:
print(changes[~changes.duplicated(subset = ['DX_bl','DX_m12'], keep=False)])
print(changes.drop_duplicates(subset = ['DX_bl','DX_m12']))
DX_bl RID DX_m12
64 1 167 0
DX_bl RID DX_m12
0 1 3 1
1 0 4 0
10 0 30 1
64 1 167 0
keep=False
場合、それはライン10(30 RID)および64(64 RID)を返すべきです。しかし、わかるように、それは10行目(RID 30)の情報を失う。
一方、 'keep'がデフォルトオプション(keep = 'first'
)であれば、行0(RID 3)と1(RID 4)を間違って返します。
pandasのduplicated/drop_duplicatesにバグがありますか?
https://stackoverflow.com/help/mcveを送信してください。確認するのが簡単になります。 changes.head()だけを投稿したので、あなたのケースを正確に書き換えられません。 –
ドキュメントを見て、あなたが投稿した2件は同等ではないと思います。私は自分の推論で答えを投稿します –
print(changes [〜 'DX_bl'、 'DX_m12']、keep = False)])print(changes.drop_duplicates(サブセット= [['DX_bl '、' DX_m12 ']]))) – pyd