gpt4 book ai didi

python - 这是 python pandas DataFrame 后排序绘图错误吗?

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:13 27 4
gpt4 key购买 nike

当我创建一个 DataFrame,然后按列排序时,它似乎在迭代显示中被排序(即无论 repr 给出什么),但是当我调用 DataFrame.plot() 函数时它绘制未排序的数组。虽然调用 matplotlib.pylab.plot 工作正常。我怀疑这与巧妙的指针重新排列有关,没有传递给 plot 函数调用以访问数据的任何内容……或者我只是在做一些愚蠢的事情。我已经在 pandas 0.8.1(osx 和 linux with python2.7.something)和 pandas 0.9.0(osx with python3.something)上试过了。

import pandas
import numpy
from matplotlib.pylab import *
a = numpy.random.randn(100,10)
df = pandas.DataFrame(a)
df.shape
df.sort(column=0)
df.columns
df.sort(column=0, inplace=True)
df[0]
df[0].plot()

最佳答案

默认情况下,绘图是您的数据与索引的关系。如果是数字索引,请在对列进行排序后查看索引。你可能想使用 plot(use_index=False)。请参见下面的示例。

In [2]: df = pd.DataFrame(np.random.randn(10, 2), columns=['A', 'B'])

In [3]: df
Out[3]:
A B
0 -0.938196 2.220319
1 -0.022503 0.564602
2 0.033094 -0.717969
3 2.466486 1.229651
4 -0.641596 -1.016921
5 0.094125 1.531526
6 0.579631 1.398635
7 -0.854799 -0.930904
8 -1.177894 -1.501657
9 0.341655 -0.917243

In [4]: df.sort(columns='A', inplace=True)
Out[4]:
A B
8 -1.177894 -1.501657
0 -0.938196 2.220319
7 -0.854799 -0.930904
4 -0.641596 -1.016921
1 -0.022503 0.564602
2 0.033094 -0.717969
5 0.094125 1.531526
9 0.341655 -0.917243
6 0.579631 1.398635
3 2.466486 1.229651

In [5]: df['A'].plot(use_index=False)
Out[5]: <matplotlib.axes.AxesSubplot at 0xb56ac6c>

enter image description here

关于python - 这是 python pandas DataFrame 后排序绘图错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12946578/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com