0

我正在尝试使用 matplotlib 函数对某些数据进行 PCA 分析,但是当我运行它并尝试打印结果时,它会打印为结果

import numpy as np
import os
import matplotlib
from matplotlib.mlab import PCA




x=np.zeros((62,2))
a=np.genfromtxt('1.txt').T[3] #list 62numbers
#print a
x[:,0]=a
print x[:,0]
b=np.genfromtxt('2.txt').T[3] #list 4numbers
x[:,1]=b
#print x
results=PCA(x)

print results

打印的结果是 matplotlib.mlab.PCA 实例,位于 0xffa4ee6c 为什么会这样?

4

1 回答 1

5

如果您查看matplotlib.mlab.PCA的文档,您会从标题中看到

class matplotlib.mlab.PCA(a)

它实际上是你正在处理的一个类。当你这样做时,PCA(x)你正在创建该类的一个实例,当你在下面的行中打印它时,你会被告知你已经得到了一个 matplotlib.mlab.PCA 的实例。您可以通过打印 的输出来确认这一点dir(results),您将在其中看到对象的属性。确定您正在处理的对象可能会有所帮助。

您在这里要做的是使用您拥有的这个对象的属性。例如,

print results.Y  # print the projection in PCA space
于 2013-08-05T10:21:50.450 回答