将数据作为数组导入以在Python中进行绘图

时间:2018-10-10 22:05:52

标签: python arrays python-2.7 import text-files

我是这个问题的新手。我希望从您的建议中受益。抱歉,这是业余的。

我有以下代码终于显示了情节。我只写了一部分代码。

...
cov = np.dot(A, A.T)
samps2 = np.random.multivariate_normal([0]*ndim, cov, size=nsamp)
print(samps2)
names = ["x%s"%i for i in range(ndim)]
labels =  ["x_%s"%i for i in range(ndim)]
samples2 = MCSamples(samples=samps2,names = names, labels = labels, label='Second set')
g = plots.getSubplotPlotter()
g.triangle_plot([samples2], filled=True)

没有问题。使用来自samps2的数据绘制该图。要查看samps2是什么,我们做print(samps2)并查看:

[[-0.11213986 -0.0582685 ]
 [ 0.20346731  0.25309022]
 [ 0.22737737  0.2250694 ]
 [-0.09544588 -0.12754274]
 [-1.05491483 -1.15432073]
 [-0.31340717 -0.36144749]
 [-0.99158936 -1.12785124]
 [-0.5218308  -0.59193326]
 [ 0.76552123  0.82138362]
 [ 0.65083618  0.70784292]]

我的问题是,如果我想从txt文件中读取这些数据。我该怎么办?

谢谢。

1 个答案:

答案 0 :(得分:2)

有几种方法。我想到的是:

普通python:

data = []
with open(filename, 'r') as f:
    for line in f:
        data.append([float(num) for num in line.split()])

numpy:

import numpy as np
data = np.genfromtxt(filename, ...)

熊猫:

import pandas as pd
df = pd.read_table(filename, sep='\s+', header=None)