2016-01-27 50 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属性)