Bri*_*ack 5 python numpy pandas
如果我构造一个熊猫数据帧如下:
import numpy as np
import pandas as pd
x = np.arange(-5.01, 5.01, 0.25)
y = np.arange(-5.01, 5.01, 0.25)
xx, yy = np.meshgrid(x, y)
z = np.sin(xx**2+yy**2)
df = pd.DataFrame(z, index=x, columns=y)
Run Code Online (Sandbox Code Playgroud)
我现在有一个 41x41 的 DataFrame,其中每个值对应一个 x,y 对。我想重塑这个 DataFrame 以便我有 3 列(X、Y、Z)和 1681 行,并带有一个范围从 0-1680 的新任意索引。
作为旁注,如果我的数据框已经处于所需的形式,我相信这与撤消 df.pivot('X','Y','Z') 相同,但我不确定如何完成此操作以及。
为什么不在 numpy 中完成这一切呢?
>>> data = np.array([xx, yy, z]).reshape(3, -1).T
>>> data
array([[-5.01 , -5.01 , -0.0652361 ],
[-4.76 , -5.01 , -0.59221922],
[-4.51 , -5.01 , 0.9936343 ], ...
Run Code Online (Sandbox Code Playgroud)