如何向量化这个熊猫应用函数,使用其他列值作为新的列名



我有一个数据框架,我想添加新的列,名称来自一列("purchase")和值来自另一列("amount")。我知道如何使用datafframe .apply()来实现它,但是我如何对它进行矢量化并使代码更快(在我实际使用的更大的数据框架上)?谢谢!

编辑:the "列是唯一的

示例输入:

<表类> 观察,购买金额tbody><<tr>1咖啡12果汁13咖啡2

假设唯一的对象,您可以pivotmerge:

df2 = df.merge(df.pivot('obs', 'purchase', 'amount'), on='obs')

输出:

obs purchase  amount  Coffee  Juice
0    1   Coffee       1     1.0    NaN
1    2    Juice       1     NaN    1.0
2    3   Coffee       2     2.0    NaN

最新更新