我有两个数据帧,并希望创建一个基于动态计算的第三个。你知道吗
df1(有)
prod time value
A 1 10
A 2 20
A 3 30
B 1 15
B 2 20
B 3 80
df2(有)
prod time1 time2 new_name
A 1 3 'newval'
B 1 2 'newval'
A 1 2 'newval2'
B 1 3 'newval2'
df3(需要)
prod value_newval value_newval2
A -20 -10
B -5 -65
希望以高效的方式创建df3。df2中的每条记录都说明了如何计算df3(即,对于产品A,从df1中减去值time=1和time=3,并将此列命名为值(df1)\新名称(df2),对于产品B,减去值time=1和time=2等等)
目前,我可以通过一行一行地遍历df2,创建df1的多个子集,并最终连接它们来创建这个,但是这需要很长时间,因为df1可能会变得非常大
你可以试着用
melt
然后merge
+groupby
更新
相关问题 更多 >
编程相关推荐