微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在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]:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐