首页 > 解决方案 > 如何将列中的值转换为列名,然后将另一列中的相应值插入其中

问题描述

我有一个熊猫数据框,如下所示:

df1=pd.DataFrame({'customerId': ['1', '2','1','1','3'], 'productId': ['111','112','113','114','111'],'index':[1.0,3.0,4.0,2.5,6.3]})
df1[['customerId','productId','index']]

  customerId    productId   index
0     1          111         1.0
1     2          112         3.0
2     1          113         4.0
3     1          114         2.5
4     3          111         6.3

我想创建一个 pandas 数据框,其中 productId 列中的值将成为列名,这些列下的值是该 customerId 的索引列中的对应值,如下所示:

  customerId    111    112   113    114
0    1          1.0    0.0   4.0    2.5
1    2          0.0    3.0   0.0    0.0
2    3          6.3    0.0   0.0    0.0

注意:因为这可以使用 while/for 循环来完成,但我只想在 Pandas 操作中执行它,因为我正在工作的数据框很大并且循环会花费很多时间。因此,请建议在 Pandas 中执行此操作的任何有效方法。

标签: pythonpandas

解决方案


推荐阅读