Python 如何使用pandas转换列表中的行
使用的代码和文件: 我正在使用熊猫进行分析。基本上,我需要排序的产品数量的订单,并包含相同的产品 示例:我有订单1和订单2,它们都有产品A和产品B。使用产品列表和产品数量作为键,我将创建一个轴,该轴将为该产品组合编制索引,并返回拥有相同产品的订单 分析的总体目标是获得如下数据帧:Python 如何使用pandas转换列表中的行,python,pandas,Python,Pandas,使用的代码和文件: 我正在使用熊猫进行分析。基本上,我需要排序的产品数量的订单,并包含相同的产品 示例:我有订单1和订单2,它们都有产品A和产品B。使用产品列表和产品数量作为键,我将创建一个轴,该轴将为该产品组合编制索引,并返回拥有相同产品的订单 分析的总体目标是获得如下数据帧: dfFinal listProds Ordens NumProds [prod1,prod2,prod3] 1 3 2
dfFinal
listProds Ordens NumProds
[prod1,prod2,prod3] 1 3
2
3
[prod1,prod3,prod5] 7 3
15
25
[prod5] 8 1
3
到目前为止,代码是这样的
将“订单”列设置为索引,以便创建第一个轴
df1.index=df1['Ordem']
df3 = df1.assign(col=df1.groupby(level=0).Produto.cumcount()).pivot(columns='col', values='Produto')
有了这个枢轴,我得到了下面的数据帧
df3 =
col 0 1 2 3 4 5 6 7 8 9 ... 54 55 56 57 58 59 60 61 62 63
Ordem
10911KD YIZ12FF-A YIZ12FF-A YIIE2FF-A YIR72FF-A YIR72FF-A YIR72FF-A NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
124636 HYY32ZY-A HYY32ZY-A NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1719KD5 YI742FF-A YI742FF-A YI742FF-A YI742FF-A NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
22215KD YI762FF-A YI762FF-A YI762FF-A YI762FF-A YI762FF-A YI762FF-A YI6E2FF-A YI6E2FF-A YI6E2FF-A NaN ... NaN NaN NaN NaN NaN
当我运行完代码后,NaN值出现时,我需要将它们从行中删除,这样我就不会影响我正在进行的分析。这样吗
df3.assign(ordem=df3['var1'].str.split(',')).explode('listprod')
我尝试了这种方法,它返回了一个错误KeyError:'Var1'
df.assign(ordem=df['listprod'].str.split(',')).explode('listprod')