pandas 旋转数据框,重复行

tom*_*mas 5 python pivot pivot-table pandas

我在熊猫中旋转时遇到了一些麻烦。dataframe我正在处理的(日期、位置、数据)如下所示:

dates    location    data
date1       A         X
date2       A         Y
date3       A         Z
date1       B         XX
date2       B         YY
Run Code Online (Sandbox Code Playgroud)

基本上,我试图旋转位置以最终得到如下数据框:

dates   A    B    C
date1   X    XX   etc...
date2   Y    YY
date3   Z    ZZ 
Run Code Online (Sandbox Code Playgroud)

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

dates  A   B   C
date1  X   NA  etc...
date2  Y   NA
date3  Z   NA
date1  NA  XX
date2  NA  YY
Run Code Online (Sandbox Code Playgroud)

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

我目前这样称呼 Pivot:

df.pivot(index="dates", columns="location")
Run Code Online (Sandbox Code Playgroud)

因为我有一组数据列,我想要旋转(不想将每个列都列为参数)。我相信默认情况下枢轴会枢轴数据框中的其余列。谢谢。

Cha*_*She 3

您如何调用 DataFrame.pivot 以及您的日期列是什么数据类型?

假设我有一个与您的类似的 DataFrame,日期列包含日期时间对象:

In [52]: df
Out[52]: 
       data                dates loc
0  0.870900  2000-01-01 00:00:00   A
1  0.344999  2000-01-02 00:00:00   A
2  0.001729  2000-01-03 00:00:00   A
3  1.565684  2000-01-01 00:00:00   B
4 -0.851542  2000-01-02 00:00:00   B


In [53]: df.pivot('dates', 'loc', 'data')
Out[53]: 
loc                A         B
dates                         
2000-01-01  0.870900  1.565684
2000-01-02  0.344999 -0.851542
2000-01-03  0.001729       NaN
Run Code Online (Sandbox Code Playgroud)