在the post的扩展名中,我认为它尚未通过使用命令shift
来完成其搜索。这样只会逐列移动,如果我们希望将整个列映射到另一列,那不是我们想要的。
我希望将几列映射到一个新列,并将其作为列添加到现有数据框。
所以输入将类似于:
DATE (MM/DD/YYYY) HOUR-MST AWS @ 50m [m/s] AWS @ 80m [m/s] AMPLC (2-80m)
1/1/2009 1 8.4262 9.1207 0.1354
1/1/2009 2 9.4238 9.9013 0.1312
1/1/2009 3 5.0494 5.3328 0.0892
1/1/2009 4 4.5928 4.8802 0.1014
假设数据帧的名称为wind
,然后使用等式:
(此处AWS是风速)
wind['new_column1'] = wind['AWS @ 50m [m/s]']**3 * wind['AMPLC (2-80m)']
wind['new_column2'] = wind['AWS @ 80m [m/s]']**3 * wind['AMPLC (2-80m)']
输出将是:
DATE (MM/DD/YYYY) HOUR-MST AWS @ 50m [m/s] AWS @ 80m [m/s] AMPLC (2-80m) new_column1 new_column2
1/1/2009 1 8.4262 9.1207 0.1354 xxx1 xxx2
1/1/2009 2 9.4238 9.9013 0.1312 xxx1 xxx2
1/1/2009 3 5.0494 5.3328 0.0892 xxx1 xxx2
1/1/2009 4 4.5928 4.8802 0.1014 xxx1 xxx2
然后,我也将半径作为另一个参数-因此,我更喜欢使用for循环从np.arange(10, 20, 2)
中选择一个范围内的数字并将其作为系数相乘。
我的主意如下:
count = 0
for rad in range(rad_range):
wind['new_column1'+count] = wind['AWS @ 50m [m/s]']**3 * wind['AMPLC (2-80m)'] * rad**2
count += 1
请给我一些建议吗?预先谢谢你!