【发布时间】:2016-11-15 06:17:23
【问题描述】:
我有两个数据框,其中一个包含 userId 和性别,另一个数据框包含这些用户的在线活动。
第一个数据帧(df1)
userId, gender
001, F
002, M
003, F
004, M
005, M
006, M
第二个数据框(df2)
userId, itemClicked, ItemBought, date
001, 123182, 123212, 02/02/2016
003, 234256, 123182, 05/02/2016
005, 986834, 234256, 04/19/2016
004, 787663, 787663, 05/12/2016
020, 465738, 465738, 03/20/2016
004, 787223, 787663, 07/12/2016
我想通过根据 userId 查找第一个数据框来将性别列添加到第二个数据框。 df2 每个用户可能有多行,因为它是一个点击数据,其中同一个用户可能点击了多个项目。
这在 MySql 中很容易做到,但我正在尝试在 pandas 中做到这一点。
for index, row in df2.iterrows():
user_id = row['userId']
if user_id in df1['userId']:
t = df1.loc[df1['userId'] == user_id]
pdb.set_trace()
这是完成这样一项任务的熊猫方式吗?
【问题讨论】: