如何用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方法
- 修改(#某些属性)
- 等等
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方法
- 修改(#某些属性)
- 等等