Saya tidak tahu cara menggabungkan 2 panda DataFrames dengan kondisi tertentu.
Aku punya ini:
import pandas as pd
df1 = pd.DataFrame({'Name': ['A', 'A', 'A', 'B' ,'B' ,'B'],
'Date': ['10/15/2019', '10/16/2019', '10/17/2019', '10/15/2019', '10/16/2019', '10/17/2019'],
'Value 1': [101, 102, 103, 201, 202, 203],
'Value 2': ['A1', 'A2', 'A3', 'B1', 'B2', 'B3']})
df2 = pd.DataFrame({'Name': ['A', 'A', 'B', 'B' ,'C'],
'Date': ['10/14/2019', '10/15/2019', '10/13/2019', '10/18/2019', '10/18/2019'],
'Value 3': [2, 2, 22, 44, 222]})
Saya harus melakukan ini
Saya hanya perlu menggabungkan nama yang ada di df1, tetapi menambahkan tanggal yang ada di df2. Namun, tanggal tersebut harus lebih besar dari 13/10/2019.
Yang paling dekat yang bisa saya dapatkan adalah
df_m = pd.merge(df1, df2, how='outer', left_on=['Name', 'Date'], right_on=['Name', 'Date'], sort=True)
Tapi ini mencakup semuanya ('C' dari df2 - saya tidak membutuhkannya dan tanggal 13/10/2019 untuk 'B' - saya juga tidak membutuhkannya).
Saya sangat menghargai bantuan apa pun.
Diedit: Kita dapat menghilangkan kondisi tanggal yang lebih besar dari 13/10/2019 - Saya menemukan jawabannya dengan membuat df2_mod lain di mana saya tidak memasukkan tanggal yang tidak saya perlukan. Namun, beberapa tanggal yang ada di df2_mod tidak ada di df1 dan saya perlu menggabungkannya dengan nilai 3. Namun saya tidak memerlukan Nama dari df2 ke df1 yang tidak ada di df1