从text-Python以类似矩阵的形式导入数据
我有一个文本文件“data.txt”,它是我的输入文件,看起来像这样:从text-Python以类似矩阵的形式导入数据,python,input,matplotlib,Python,Input,Matplotlib,我有一个文本文件“data.txt”,它是我的输入文件,看起来像这样: X Y value 5.000000e-03 5.000000e-03 0.000000e+00 5.000000e-03 2.537500e-01 0.000000e+00 5.000000e-03 5.025000e-01 0.000000e+00 2.537500e-01 5.000000
X Y value
5.000000e-03 5.000000e-03 0.000000e+00
5.000000e-03 2.537500e-01 0.000000e+00
5.000000e-03 5.025000e-01 0.000000e+00
2.537500e-01 5.000000e-03 0.000000e+00
2.537500e-01 2.537500e-01 3.054417e-03
2.537500e-01 5.025000e-01 1.949042e-04
5.025000e-01 5.000000e-03 0.000000e+00
5.025000e-01 2.537500e-01 1.949042e-04
5.025000e-01 5.025000e-01 3.433153e-05
我想用一种类似矩阵的形式来描绘它,例如,如果我们把矩阵a
称为
A_{1 1} = 3.054417e-03
A_{1 2} = 1.949042e-04
等等。如何首先以类似矩阵的形式导入这些数据,然后绘制它们?您可以使用NumPy的函数loadtxt:
import numpy as np
values = np.loadtxt('data.txt', skiprows=1, ndmin=0)
print(values)
输出:
[[ 5.00000000e-03 5.00000000e-03 0.00000000e+00]
[ 5.00000000e-03 2.53750000e-01 0.00000000e+00]
[ 5.00000000e-03 5.02500000e-01 0.00000000e+00]
[ 2.53750000e-01 5.00000000e-03 0.00000000e+00]
[ 2.53750000e-01 2.53750000e-01 3.05441700e-03]
[ 2.53750000e-01 5.02500000e-01 1.94904200e-04]
[ 5.02500000e-01 5.00000000e-03 0.00000000e+00]
[ 5.02500000e-01 2.53750000e-01 1.94904200e-04]
[ 5.02500000e-01 5.02500000e-01 3.43315300e-05]]
尝试询问您最喜欢的搜索引擎ANKS@Makc,但由于此输出没有逗号来分隔元素,NummPy如何理解它是一个列表列表?loadtxt()参数中有“delimiter”,默认情况下,numpy会按任何空格字符分割值,因此在您的情况下,默认情况下它会像一个符咒一样工作。