ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

在Python Pandas数据框中拆分列

2019-11-11 04:59:27  阅读:212  来源: 互联网

标签:pandas dataframe python


如何通过列中的变量名称拆分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,dataframe,python
来源: https://codeday.me/bug/20191111/2017340.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有