如何使用一列中的列名和另一列中的列值重新创建新列



我的数据帧中有两列带有列表值,如下所示:

salary.labels   salary.percentages
['Not Impacted', 'Salary Not Paid', 'Salary Cut', 'Variables Impacted', 'Appraisal Delayed']    [29, 0.9, 2.2, 11.3, 56.6]
['Not Impacted', 'Salary Not Paid', 'Salary Cut', 'Variables Impacted', 'Appraisal Delayed']    [74.5, 1.1, 1.4, 12, 11]
['Not Impacted', 'Salary Not Paid', 'Salary Cut', 'Variables Impacted', 'Appraisal Delayed']    [63.4, 1.9, 2.2, 11.2, 21.3]
['Not Impacted', 'Salary Not Paid', 'Salary Cut', 'Variables Impacted', 'Appraisal Delayed']    [58.3, 0.6, 1.9, 7.9, 31.3]
['Not Impacted', 'Salary Not Paid', 'Salary Cut', 'Variables Impacted', 'Appraisal Delayed']    [80.4, 1.4, 2.2, 4.7, 11.3]
['Not Impacted', 'Salary Not Paid', 'Salary Cut', 'Variables Impacted', 'Appraisal Delayed']    [71.2, 0.9, 1.2, 6.3, 20.4]
['Not Impacted', 'Salary Not Paid', 'Salary Cut', 'Variables Impacted', 'Appraisal Delayed']    [39.9, 1.6, 5.8, 15.8, 36.9]
['Not Impacted', 'Salary Not Paid', 'Salary Cut', 'Variables Impacted', 'Appraisal Delayed']    [56.5, 0.8, 2.3, 9.8, 30.6]
['Not Impacted', 'Salary Not Paid', 'Salary Cut', 'Variables Impacted', 'Appraisal Delayed']    [42.9, 2.3, 5.1, 14.1, 35.6]

我希望创建新的列,这样列标签将采用salary.labelscolumn&每一行中的列值将采用salary.%列中的相应值。

预期输出数据帧如下所示:

'Not Impacted' 'Salary Not Paid' 'Salary Cut' 'Variables Impacted' 'Appraisal Delayed'
29, 0.9, 2.2, 11.3, 56.6
74.5, 1.1, 1.4, 12, 11
63.4, 1.9, 2.2, 11.2, 21.3
58.3, 0.6, 1.9, 7.9, 31.3
80.4, 1.4, 2.2, 4.7, 11.3
71.2, 0.9, 1.2, 6.3, 20.4
39.9, 1.6, 5.8, 15.8, 36.9
56.5, 0.8, 2.3, 9.8, 30.6
42.9, 2.3, 5.1, 14.1, 35.6

如何在熊猫手术中做到这一点?

如果salary.labels中的所有列表都相同,则使用DataFrame构造函数将第二列转换为列表,并按salary.labels:的第一行转换列

df = pd.DataFrame(df['salary.percentages'].tolist(), columns=df['salary.labels'].iloc[0])
print (df)
Not Impacted  Salary Not Paid  Salary Cut  Variables Impacted  
0          29.0              0.9         2.2                11.3   
1          74.5              1.1         1.4                12.0   
2          63.4              1.9         2.2                11.2   
3          58.3              0.6         1.9                 7.9   
4          80.4              1.4         2.2                 4.7   
5          71.2              0.9         1.2                 6.3   
6          39.9              1.6         5.8                15.8   
7          56.5              0.8         2.3                 9.8   
8          42.9              2.3         5.1                14.1   
Appraisal Delayed  
0               56.6  
1               11.0  
2               21.3  
3               31.3  
4               11.3  
5               20.4  
6               36.9  
7               30.6  
8               35.6  

最新更新