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)
因为我有一组数据列,我想要旋转(不想将每个列都列为参数)。我相信默认情况下枢轴会枢轴数据框中的其余列。谢谢。
您如何调用 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)