如何用python创建自己的数据字典/结构

如何用python创建自己的数据字典/结构,python,pandas,dataset,scikit-learn,spyder,Python,Pandas,Dataset,Scikit Learn,Spyder,在sci工具包学习python库中,可以通过以下命令轻松访问许多数据集: 例如,要加载iris数据集: iris=dataset.load\u iris() 现在我们可以按如下方式分配数据和目标/标签变量: X=iris.data#将特征数据集分配给X Y=iris.target#将标签分配给Y 我的问题是如何使用我自己的csv、xml或任何其他格式的数据创建我自己的数据字典,使数据可以轻松调用,功能/标签也可以轻松访问。 这可能吗?有人帮帮我!! 顺便说一句,我是通过continuum使用sp

sci工具包学习
python库中,可以通过以下命令轻松访问许多数据集:

例如,要加载
iris
数据集:

iris=dataset.load\u iris()

现在我们可以按如下方式分配数据和目标/标签变量:

X=iris.data#将特征数据集分配给X

Y=iris.target#将标签分配给Y

我的问题是如何使用我自己的csv、xml或任何其他格式的数据创建我自己的数据字典,使数据可以轻松调用,功能/标签也可以轻松访问。
这可能吗?有人帮帮我!! 顺便说一句,我是通过continuum使用spyder(anaconda)平台。
谢谢

我认为至少有两种(简单的)解决方案可以解决您的问题

首先,您可以将数据存储在您喜欢的任何结构中

# 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
希望对你有所帮助

我发现至少有两种(简单的)方法可以解决你的问题

首先,您可以将数据存储在您喜欢的任何结构中

# 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

希望它能有所帮助

如果您只想从csv文件中读取数据并对其进行组织,我建议您只需使用pandas或numpy的genfromtxt函数

mydata=numpy.genfromtxt(filepath,*params)
如果CSV定期格式化,您可以通过指定以下内容提取每列的名称:

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

然后,只需键入列数据的名称/标题,即可访问所需的任何列数据:

mydata['your header']
(熊猫还有一种类似的便捷方式,可以有组织地从CSV或类似文件中获取数据。)

但是,如果您想长期学习:

简单地说,您希望为正在使用的数据编写一个类,并完成其自己的访问、修改、读取和#dosomething函数。我认为,与其编写这方面的代码,不如深入阅读iris类,或者任何基于对象编程的初学者指南中的简单类介绍,这样会使您受益匪浅

例如,对于对象MyData,您可以使用

  • read(#file)函数,从给定的文件中读取某种预期格式的文件,并返回某种指定的结构。要读取csv文件,只需使用numpy的loadtxt方法
  • 修改(#某些属性)
  • 等等

如果您只想从csv文件中读取数据并对其进行组织,我建议您只需使用pandas或numpy的genfromtxt函数

mydata=numpy.genfromtxt(filepath,*params)
如果CSV定期格式化,您可以通过指定以下内容提取每列的名称:

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

然后,只需键入列数据的名称/标题,即可访问所需的任何列数据:

mydata['your header']
(熊猫还有一种类似的便捷方式,可以有组织地从CSV或类似文件中获取数据。)

但是,如果您想长期学习:

简单地说,您希望为正在使用的数据编写一个类,并完成其自己的访问、修改、读取和#dosomething函数。我认为,与其编写这方面的代码,不如深入阅读iris类,或者任何基于对象编程的初学者指南中的简单类介绍,这样会使您受益匪浅

例如,对于对象MyData,您可以使用

  • read(#file)函数,从给定的文件中读取某种预期格式的文件,并返回某种指定的结构。要读取csv文件,只需使用numpy的loadtxt方法
  • 修改(#某些属性)
  • 等等