我有一个大数据帧,我想根据另一列指示的数组位置创建一列。在下面的示例中,我想创建一个基于param数组分配值的列,其中位置由列“type”指示
>>> import pandas as pd
>>> d = {'type': [3, 4, 1, 2, 5]}
>>> df = pd.DataFrame(data=d)
>>> param = [0.3, 0.4, 0.1, 0.25, 0.75]
>>> df
type
0 2
1 3
2 0
3 1
4 4
预期的结果将是
>> df
type outcome
0 2 0.10
1 3 0.25
2 0 0.30
3 1 0.40
4 4 0.75
如果不将帧转换为数组并通过循环获得结果,我想不出一个好的方法来实现它。我曾尝试为类型创建虚拟变量并执行矩阵乘法,但由于我的数据中有100多个类型,这将大大增加计算时间。任何帮助都将不胜感激
如果没有任何for循环,您可以执行以下操作:
相关问题 更多 >
编程相关推荐