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

python – pandas透视数据帧,重复行

参见英文答案 > How to pivot a dataframe                                    1个
在熊猫中旋转我有点麻烦.我正在处理的数据框(日期,位置,数据)如下所示:

dates    location    data
date1       A         X
date2       A         Y
date3       A         Z
date1       B         XX
date2       B         YY

基本上,我试图在位置上进行调整以得到如下数据框:

dates   A    B    C
date1   X    XX   etc...
date2   Y    YY
date3   Z    ZZ 

不幸的是,当我转动时,索引(相当于原始日期列)不会改变,我得到:

dates  A   B   C
date1  X   NA  etc...
date2  Y   NA
date3  Z   NA
date1  NA  XX
date2  NA  YY

有谁知道如何解决这个问题,以获得我正在寻找的数据帧格式?

我现在正在调用Pivot:

df.pivot(index="dates", columns="location")

因为我有一个我要转动的数据列#(不想将每个列列为参数).我相信认情况下,pivot会转动数据框中的其余列.
谢谢.

解决方法:

如果您有多个数据列,则调用不带值列的pivot应该为您提供一个带有MultiIndex的透视框作为列:

In [3]: df
Out[3]: 
  columns     data1     data2 index
0       a -0.602398 -0.982524     x
1       a  0.880927  0.818551     y
2       b -0.238849  0.766986     z
3       b -1.304346  0.955031     x
4       c -0.094820  0.746046     y
5       c -0.835785  1.123243     z

In [4]: df.pivot('index', 'columns')
Out[4]: 
            data1                         data2                    
columns         a         b         c         a         b         c
index                                                              
x       -0.602398 -1.304346       NaN -0.982524  0.955031       NaN
y        0.880927       NaN -0.094820  0.818551       NaN  0.746046
z             NaN -0.238849 -0.835785       NaN  0.766986  1.123243

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

相关推荐