我有两个数据帧df1,df2,如下所述
df1
prod age
0 Winalto_eu 28
1 Winalto_uc 25
2 CEM_eu 30
df2
age qx
0 25 2.7
1 26 2.8
2 27 2.8
3 28 2.9
4 29 3.0
5 30 3.2
6 31 3.4
7 32 3.7
8 33 4.1
9 34 4.6
10 35 5.1
11 36 5.6
12 37 6.1
13 38 6.7
14 39 7.5
15 40 8.2
我想向df1添加带有for循环的新列。 新柱的名称应为qx1、qx2、…qx10
for i in range(0,10):
df1['qx'+str(i)]
qx1的值应该受到循环的影响,对年龄进行一种vlookup: 例如,在第一行,对于产品“Winalto_eu”,qx1的值应该是 df2['qx']在28+1岁时,qx2在28+2岁时相同
目标数据帧应如下所示:
prod age qx1 qx2 qx3 qx4 qx5 qx6 qx7 qx8 qx9 qx10
0 Winalto_eu 28 3.0 3.2 3.4 3.7 4.1 4.6 5.1 5.6 6.1 6.7
1 Winalto_uc 25 2.8 2.8 2.9 3.0 3.2 3.4 3.7 4.1 4.6 5.1
2 CEM_eu 30 3.4 3.7 4.1 4.6 5.1 5.6 6.1 6.7 7.5 8.2
你知道吗? 谢谢
下面是一种使用
.loc
过滤数据的方法:我想这会给你想要的。我使用shift函数首先在df2中生成附加列,然后与df1合并
在开始的时候,您应该在用qx转换df之后,尝试使用pd.df.set_index('prod',inplace=True)
相关问题 更多 >
编程相关推荐