2016-01-27 51 views
0

sci-kit learn Python庫有通過以下命令很容易地訪問許多數據集:你如何在Python創建自己的數據字典/結構

例如加載iris數據集:

iris=datasets.load_iris()

,並按如下,我們現在可以將數據分配和目標/標籤變量:

X=iris.data # assigns feature dataset to X

Y=iris.target # assigns labels to Y

我的問題是如何創建自己的數據字典用我自己的數據無論是在CSV,XML或其他任何格式轉換成上述類似這樣的數據可以很容易地調用,功能/標籤,很容易訪問的東西。
這可能嗎?誰來幫幫我!!順便說一下,我使用的是spyder(anaconda)平臺。
謝謝!

回答

1

我看到至少兩個(簡單)解決方案,以解決您的問題。

首先,您可以將數據存儲在任何您喜歡的結構中。

# Storing in a list 
my_list = [] 
my_list.append(iris.data) 
my_list[0] # your data 

# Storing in a dictionary 
my_dict = {} 
my_dict["data"] = iris.data 
my_dict["data"] # your data 

或者,你可以創建你自己的類

Class MyStructure: 
    def __init__(data, target): 
     self.data = data 
     self.target = target 

my_class = MyStructure(iris.data, iris.target) 
my_class.data # your data 

希望它可以幫助

0

如果你想要做的是讀取CSV文件中的數據並將它們組織起來,我會建議你只使用熊貓或numpy的genfromtxt函數。

mydata=numpy.genfromtxt(filepath,*params) 

如果CSV定期格式,你可以通過指定提取例如每一列的名稱:

mydata=numpy.genfromtxt(filepath,unpack=True,names=True,delimiter=',')

,那麼你可以通過簡單地鍵入它的名稱來訪問你想要的任何列數據/ header:

mydata['your header'] 

(Pandas也有類似的方便的方式從CSV或類似文件中以組織方式獲取數據。)

但是,如果你想這樣做了很長的路,學習:

簡單地說,你想要寫您正在使用的數據,完成與自己的接入類,修改,讀取,#dosomething功能。代替這個代碼,我認爲你會從更多的入門和閱讀例如虹膜類,或從任何初學者指南到基於對象的編程的簡單類的介紹中獲益。

做你想要什麼,對於對象邁德特,你可以有例如

  • 讀(#FILE)功能,從一些預期格式的指定文件讀取並返回一些特定的結構。爲了從csv文件讀取,你可以簡單地使用numpy的loadtxt方法。
  • 修改(#some屬性)