1
我拖曳或三個具有重複行的DataFrame。Python/Pandas從DataFrame中篩選出唯一的行
In [31]: df1
Out[31]:
member time
0 0 2009-09-30 12:00:00
1 0 2009-09-30 18:00:00
2 0 2009-10-01 00:00:00
3 1 2009-09-30 12:00:00
4 1 2009-09-30 18:00:00
5 2 2009-09-30 12:00:00
6 3 2009-09-30 12:00:00
...
In [32]: df2
Out[32]:
member time
0 0 2009-09-30 12:00:00
1 0 2009-09-30 18:00:00
3 1 2009-09-30 12:00:00
4 2 2009-09-30 12:00:00
5 2 2009-09-30 18:00:00
6 2 2009-10-01 00:00:00
...
我想篩選出具有DF1和DF2「成員」和「時間」的獨特價值的行,並得到一個只有具有「成員」的共同價值觀行的數據幀和「時間」在df1和df2中,即
In [33]: df_duplicated_1_and_2
Out[33]:
member time
0 0 2009-09-30 12:00:00
1 0 2009-09-30 18:00:00
3 1 2009-09-30 12:00:00
4 2 2009-09-30 12:00:00
...
有沒有一種高效優雅的方式來做到這一點?
更新如果可能,我想不是一個新的合併的DataFrame,而是一個過濾的DataFrame。例如,
In [34]: df1
Out[34]:
member time value
0 0 2009-09-30 12:00:00 a
1 0 2009-09-30 18:00:00 b
2 0 2009-10-01 00:00:00 c
3 1 2009-09-30 12:00:00 d
4 1 2009-09-30 18:00:00 e
5 2 2009-09-30 12:00:00 f
6 3 2009-09-30 12:00:00 g
...
In [35]: df1_filtered_out
Out[35]:
member time value
0 0 2009-09-30 12:00:00 a
1 0 2009-09-30 18:00:00 b
3 1 2009-09-30 12:00:00 d
4 2 2009-09-30 12:00:00 g
...
並且也得到過濾的df2。
梅傑斯都默認 '內',使'how'參數是沒有必要的。 – EdChum
@EdChum我知道,但我明確指定'how'參數來顯示OP,如果他決定做不同的事情,他如何將這種行爲改變爲'right','left'或'outer'。但是,是的,這是一個有用的評論。 +1。 –
感謝您的回答和評論。你的答案與我想要做的幾乎相同,但我希望得到'過濾'DataFrame,而不是'合併'。你能告訴我過濾出重複原料的方法嗎? (更新我的問題) – Tetsuro