行が重複している DataFrame を 3 つ牽引します。
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 を取得します。