在Python Pandas数据框中拆分列

如何通过列中的变量名称拆分pandas DataFrame中的列?
我下面有一个DataFrame:

    ID  FEATURE ParaM   VALUE
0   A101    U1  ITEM1   10
1   A101    U1  ITEM2   11
2   A101    U2  ITEM1   12
3   A101    U2  ITEM2   13
4   A102    U1  ITEM1   14
5   A102    U1  ITEM2   15
6   A102    U2  ITEM1   16
7   A102    U2  ITEM2   17

我想将其拆分如下.

    ID  FEATURE ITEM1   ITEM2
0   A101    U1  10  11
1   A101    U2  12  13
2   A102    U1  14  15
3   A102    U2  16  17

我尝试使用其中一种回复,但效果很好,但部分实现了.

Select_Data.groupby('ParaM')['VALUE'].apply(list).apply(pd.Series).T

ParaM   ITEM1   ITEM2
0   10  11
1   12  13
2   14  15
3   16  17

但是我丢失了ID& FEATURE列,我想将它们保留在表格中.我将不胜感激任何建议.

解决方法:

您还可以使用带有索引ID,FEATURE的数据透视表,然后重置索引,即

ndf =  pd.pivot_table(df,columns='ParaM', values='VALUE',index=['ID','FEATURE']).reset_index()

如果您想汇总重复值,则可以使用平均值

ndf =  pd.pivot_table(df,columns='ParaM', values='VALUE',index=['ID','FEATURE'],aggfunc='mean').reset_index()

输出

ParaM    ID FEATURE  ITEM1  ITEM2
0      A101      U1     10     11
1      A101      U2     12     13
2      A102      U1     14     15
3      A102      U2     16     17
In [528]:

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...