如何将包含坐标列表的Pandas DataFrame重新排列到表中?

FLAV10

我有以下形式的坐标列表

X
X1 Y1 Z(X1,Y1)
X1 Y2 Z(X1,Y2)
... ... ...
X1 Z(X1,IN)
X2 Y1 Z(X2,Y1)
X2 Y2 Z(X2,Y1)
... ... ...
XN Z(XN,YN)

我需要这样做,因为Z的功能很挑剔。

Matplot lib需要的Z值是一个2D数组。我想重新摆桌子,这样:

Y1 Y2 ...
X1 X(X1,Y1) Z(X1,Y2) ... Z(X1,IN)
X2 Z(X2,Y1) Z(X2,Y2) ... Z(X2,IN)
... ... ... ... ...
XN Z(XN,Y1) Z(XN,Y2) ... Z(XN,YN)

我在Pandas尝试了一些枢轴选项,但是没有运气。事实证明,遍历表是不可靠的。

我迷路了,请帮忙。

编辑: `plotable_table = table.pivot(索引='X',列='Y',值='Z')返回奇数。不幸的是表格是3 x 230,plotable_table是23 x 142...。应该是23 x 10

表是:

         X         Y        Z
0     10000       0.0      0.0
1     10000    1000.0   -200.6
2     10000    2000.0   -401.2
3     10000    3000.0   -601.8
4     10000    4000.0   -802.4
..      ...       ...      ...
225  230000  115000.0  -9050.5
226  230000  138000.0 -26726.0
227  230000  161000.0 -56028.0
228  230000  184000.0 -66562.0
229  230000  207000.0 -77096.0
    [230 rows x 3 columns]

可绘制表格为:

Y       0.0       1000.0    2000.0    ...  189000.0  198000.0  207000.0
X                                     ...
10000        0.0    -200.6    -401.2  ...       NaN       NaN       NaN    
20000        0.0       NaN    -401.2  ...       NaN       NaN       NaN    
30000        0.0       NaN       NaN  ...       NaN       NaN       NaN    
40000        0.0       NaN       NaN  ...       NaN       NaN       NaN    
50000     4070.0       NaN       NaN  ...       NaN       NaN       NaN    
60000     4884.0       NaN       NaN  ...       NaN       NaN       NaN    
70000     5698.0       NaN       NaN  ...       NaN       NaN       NaN    
80000     6512.0       NaN       NaN  ...       NaN       NaN       NaN    
90000     9846.0       NaN       NaN  ...       NaN       NaN       NaN    
100000   18230.0       NaN       NaN  ...       NaN       NaN       NaN    
110000   20053.0       NaN       NaN  ...       NaN       NaN       NaN    
120000   24768.0       NaN       NaN  ...       NaN       NaN       NaN    
130000   26832.0       NaN       NaN  ...       NaN       NaN       NaN    
140000   28896.0       NaN       NaN  ...       NaN       NaN       NaN    
150000   30960.0       NaN       NaN  ...       NaN       NaN       NaN    
160000   41184.0       NaN       NaN  ...       NaN       NaN       NaN    
170000   43758.0       NaN       NaN  ...       NaN       NaN       NaN    
180000   46332.0       NaN       NaN  ...       NaN       NaN       NaN    
190000   48906.0       NaN       NaN  ...       NaN       NaN       NaN    
200000   51480.0       NaN       NaN  ...       NaN       NaN       NaN    
210000   54054.0       NaN       NaN  ...  -86562.0       NaN       NaN    
220000   73568.0       NaN       NaN  ...       NaN  -73744.0       NaN    
230000   76912.0       NaN       NaN  ...       NaN       NaN  -77096.0 

[23 rows x 142 columns]
大卫·费利佩·麦地那·马约加

答案是:

data = data.pivot(index='X', columns='Y', values='Z')

数据透视表的尺寸取决于X和Y的唯一值。您应该计算Y的多少个不同的值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将纵向数据集重新排列到寿命表中

将存储在行中的数据重新排列到列中

将数据重新排列到等高线图的矩阵中

如何使用公式或宏/VBA 自动将包含日期的行中的数据重新排列到 Excel 中的季度列

将数据帧列表中的数据有效地重新排列到 R 中的数组中?

Visual Studio Project将项目重新排列到具有相同名称的文件夹中

如何将列表转换为包含重新排列的列和单独命名的列的复杂表?

如何重新排列列表中的对象

如何将TukeyHSD的结果排列到表中?

重新排列 Java 列表中的索引

在jQuery中重新排列列表元素

重新排列表格中的值

在Mathematica中重新排列嵌套列表

在Flutter中重新排列列表图

重新排列表格中的元素

重新排列列表中的元素

重新排列列表中的字母

UNION表時如何重新排列/重新排序Bigquery中嵌套的重複列

如何重新排列图例中的项目?

如何重新排列矩阵中的数据?

如何检查2列表并在python中重新排列顺序

如何使用工作表中的数据重新排列 Google 工作表?

将Microsoft Excel中的行重新排列为新表中的列

如何通过文件资源管理器“非手动”将文件重新排列到文件夹中?

将数据从一列重新排列到一行

如何在Swift中将数组项重新排列到新位置?

在 Pandas 数据透视表中重新排列不同级别的列

如何在R中重新排列数据表的格式?

如何重新排列和刪除正則表達式中的文本?