如何解决Python:将熊猫 3d 数据框转换为 X、Y、Z
我的 csv 数据已被 pd.read_csv
(https://www.pkks.de/contourN.dat) 读取:
0 1 2
0 -3.0 -3.00000 -0.001395
1 -3.0 -2.97647 -0.001410
2 -3.0 -2.95294 -0.001421
3 -3.0 -2.92941 -0.001426
4 -3.0 -2.90588 -0.001427
... ... ... ...
65531 3.0 2.90588 -0.001427
65532 3.0 2.92941 -0.001426
65533 3.0 2.95294 -0.001421
65534 3.0 2.97647 -0.001410
65535 3.0 3.00000 -0.001395
代表 (x,y,z) 坐标。我必须如何将这些数据转换为 X,Y,Z
变量以
使用 matplotlib 绘制曲面:
ax.plot_surface(X,Z,...)
解决方法
import pandas as pd
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
data = pd.read_csv('your_file.csv',sep=',',names=['X','Y','Z'],index_col=False)
x_num = len(data['X'].unique())
y_num = len(data['Y'].unique())
x = data['X'].values.reshape(x_num,-1)
y = data['Y'].values.reshape(y_num,-1)
z = data['Z'].values.reshape((x_num,y_num))
fig = plt.figure()
ax = fig.gca(projection='3d')
surf = ax.plot_surface(x,y,z)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。