重塑数据框熊猫

亚历克斯

我有:

data1=['id1','id2','id3','id1','id5']
data2=['','A','','B','']
data3=['m1','m1','m1','m2','m2']
data4=['1.22','sd','EUR','1.456','GB1234']
pd.DataFrame({'identifier':data1,'name':data2,'grp':data3,'value':data4})

    identifier  name    grp value
0   id1                 m1  1.22
1   id2         A       m1  sd
2   id3                 m1  EUR
3   id1         B       m2  1.456
4   id5                 m2  GB1234

我想要:

    id1     id2 id3 id5
A   1.220   sd  EUR 
B   1.456           GB1234

有什么建议?我的真实数据有109个标识符,6k个名称,1k个组一些注意事项:

  • 所有标识符都有可能在不同的组中是相同的
  • 最后,我想将所有标识符作为一列,将名称作为索引,并将值作为值

我尝试df2=df.pivot(values='value',columns='field',index='ticker')并得到了错误:ValueError: Index contains duplicate entries, cannot reshap

我试图重塑熊猫中的数据框,但是有点不同

耶斯列尔

我认为您需要DataFrame.pivot_table聚合first,如果需要用第一个非空字符串nameadd组替换rename

s = df.assign(name = df['name'].replace('', np.nan)).groupby('grp')['name'].first()

df2=df.pivot_table(values='value',
                   columns='identifier',
                   index='grp', 
                   aggfunc='first').rename(s)
print (df2)
identifier    id1  id2  id3     id5
grp                                
A            1.22   sd  EUR     NaN
B           1.456  NaN  NaN  GB1234

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫:重塑数据框

来自分类Dev

重塑熊猫中的数据框

来自分类Dev

重塑熊猫中的数据框

来自分类Dev

如何重塑熊猫数据框?

来自分类Dev

数据透视后重塑熊猫数据框

来自分类Dev

熊猫数据框重塑以包含比较数据

来自分类Dev

重塑熊猫数据框,展平数据

来自分类Dev

从行到列重塑熊猫数据框

来自分类Dev

熊猫使用NaN旋转或重塑数据框

来自分类Dev

重塑熊猫数据框的堆栈/展开

来自分类Dev

如何重塑熊猫中的数据框?

来自分类Dev

重塑熊猫数据框(部分转置)

来自分类Dev

填充和重塑熊猫数据框

来自分类Dev

如何使用Pivot重塑熊猫数据框?

来自分类Dev

用重复值重塑熊猫数据框

来自分类Dev

使用多个索引重塑熊猫数据框

来自分类Dev

重塑熊猫数据框以匹配特定输出

来自分类Dev

重塑熊猫数据框(部分转置)

来自分类Dev

如何重塑/爆炸熊猫数据框?

来自分类Dev

重塑熊猫数据框分组变量

来自分类Dev

在多列上重塑熊猫数据框

来自分类Dev

动态重塑熊猫中的数据框

来自分类Dev

用数据透视表重塑熊猫中的数据框

来自分类Dev

重塑熊猫中的数据框以水平排列数据

来自分类Dev

Python熊猫很难进行数据框重塑

来自分类Dev

如何通过列值重塑熊猫数据框?

来自分类Dev

根据列中的重复值重塑熊猫数据框

来自分类Dev

在传递给Plotly函数之前,如何重塑熊猫数据框?

来自分类Dev

根据两列中的值重塑熊猫数据框