У меня есть фрейм данных df1, который выглядит следующим образом:
use_id user_id platform platform_version device
0 22782 26980 ios 10.2 iPhone7
1 22783 29628 android 6.0 Nexus 5
2 22784 28473 android 5.1 SM-G903F
3 22785 15200 ios 10.2 iPhone7
4 22786 28239 android 6.0 ONE E1003
5 22787 12921 android 4.3 GT-I9505
6 22788 28714 android 6.0 SM-G930F
7 22789 28714 android 6.0 SM-G930F
8 22790 29592 android 5.1 D2303
9 22791 28775 ios 10.2 iPhone6
и второй фрейм данных df2 (подмножество df1):
use_id user_id device date_created
0 22782 26980 iPhone7 2018/12/12
1 22783 29628 Nexus 5 2019/01/15
2 22784 28473 SM-G903F 2019/01/23
3 22785 15200 iPhone7 2019/01/23
4 22786 28239 ONE E1003 2019/01/23
Я хочу определить новые строки вdf1 отсутствует в df2, добавьте их в df2, а затем обновите столбец date_created, указав дату ввода.
Таким образом, df2 будет похож на это:
use_id user_id device date_created
0 22782 26980 iPhone7 2018/12/12
1 22783 29628 Nexus 5 2019/01/15
2 22784 28473 SM-G903F 2019/01/23
3 22785 15200 iPhone7 2019/01/23
4 22786 28239 ONE E1003 2019/01/23
5 22787 12921 GT-I9505 2019/05/22
6 22788 28714 SM-G930F 2019/05/22
7 22789 28714 SM-G930F 2019/05/22
8 22790 29592 D2303 2019/05/22
9 22791 28775 iPhone6 2019/05/22
Я смогполучить разницу между двумя кадрами данных с помощью merge ():
mergedStuff = pd.merge(df1['use_id', 'user_id', 'device'], df2, on=['use_id', 'user_id', 'device'], how='outer', indicator=True).loc[mergedStuff['_merge'] == 'left_only']
и затем добавить новые строки в df2:
df2 = df2.append(mergedStuff, ignore_index=True)
Но я пытаюсь добавить дату создания, как показано нижетолько для новых добавленных строк.
df2['date_created'] = pd.datetime.now()
Есть ли простой способ добиться этого?