我有一个数据框架,我想添加新的列,名称来自一列("purchase")和值来自另一列("amount")。我知道如何使用datafframe .apply()来实现它,但是我如何对它进行矢量化并使代码更快(在我实际使用的更大的数据框架上)?谢谢!
编辑:the "列是唯一的
示例输入:
<表类>
观察 , 购买金额 tbody><<tr>1 咖啡 1 2果汁 1 3 咖啡 2 表类>
假设唯一的对象,您可以pivot
和merge
:
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