我尝试以某种方式转动数据,以便生成的表的索引和列不会自动排序。数据的示例可能是:
X Y Z
1 1 1
3 1 2
2 1 3
4 1 4
1 2 5
3 2 6
2 2 7
4 2 8
数据被解释为X,Y和Z轴。枢轴结果应如下所示:
X 1 3 2 4
Y
1 1 2 3 4
2 5 6 7 8
相反,结果看起来像这样,索引和列被排序,相应的数据:
X 1 2 3 4
Y
1 1 3 2 4
2 5 7 6 8
此时我丢失了有关测量顺序的信息。例如,假设我将在Y = 1处绘制行,其中X为X轴,数据值为Y轴。
This would result in the figures in this picture.右边是我希望如何绘制数据。有没有人知道如何在转动表时防止pandas对索引和列进行排序?
答案 0 :(得分:0)
我有恢复订单的替代方案,因为订购基于相对于 Y 值的 X ,例如,您可以通过以下方式恢复您的 X 列排序:
import pandas as pd
# using your sample data
df = pd.read_clipboard()
df = df.pivot('Y', 'X', 'Z')
df
X 1 2 3 4
Y
1 1 3 2 4
2 5 7 6 8
# re-order your X columns by the values of first Y, for instance
df = df[df.T[1].values]
df
X 1 3 2 4
Y
1 1 2 3 4
2 5 6 7 8
不是最好的方法,但确定它会达到你想要的效果。