运行PCA分析matplotlib结果打印<matplotlib.mlab.PCA实例在0xffa4ee6c>

ast*_*ris 0 python numpy matplotlib

我正在尝试使用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
Run Code Online (Sandbox Code Playgroud)

得到打印的结果是0xffa4ee6c上的matplotlib.mlab.PCA实例为什么会这样?

Mic*_*nan 5

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

class matplotlib.mlab.PCA(a)
Run Code Online (Sandbox Code Playgroud)

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

你想要做的是使用你已经拥有的这个对象的属性.例如,

print results.Y  # print the projection in PCA space
Run Code Online (Sandbox Code Playgroud)