【发布时间】:2022-01-11 06:51:34
【问题描述】:
如果我的一个数据框给了我一些关于项目的信息:
itemId property_1 property_2 property_n Decision
0 i1 88.90 NaN 0 1
1 i2 87.09 7.653800e+06 0 0
2 i3 78.90 7.623800e+06 1 1
3 i4 93.02 NaN 1 0
...
另一个给了我一些关于用户如何与项目交互的信息:
userId itemId Decision
0 u1 i1 0
1 u1 i2 1
2 u2 i1 1
3 u2 i3 0
4 u2 i4 1
5 u3 i5 0
...
我有兴趣预测Decision,如果我分别处理每个数据帧,这很容易做到。 但是我能否以某种方式将第二个合并到第一个中,因为在第二个中,每个 item 以不同的 Decisions 出现多次?
我想要类似的东西:
itemId property_1 property_2 property_n u1_decision ... Decision
0 i1 88.90 NaN 0 0 1
1 i2 87.09 7.653800e+06 0 1 0
2 i3 78.90 7.623800e+06 1 NaN 1
4 i4 93.02 NaN 1 NaN 0
...
所以每个用户都变成一列,结果非常稀疏。第一个问题是这是否有意义,第二个问题是如何将第二个数据帧中的行作为列合并到第一个(我知道如何在Decision 上使用df.merge,但这不是给我想要的结果)。
【问题讨论】:
-
由于它是多对一的,因此您需要为项目创建聚合列,可以是总和或频率等......
标签: python pandas dataframe merge