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



sci-kit learn python库中,有许多数据集可以通过以下命令轻松访问:

例如,要加载iris数据集:

iris=datasets.load_iris()

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

X=iris.data # assigns feature dataset to X

Y=iris.target # assigns labels to Y

我的问题是如何使用我自己的数据以csv,xml或任何其他格式创建我自己的数据字典,以类似的内容创建上述内容,以便可以轻松调用数据并轻松访问特征/标签。
这可能吗?有人帮我!!顺便说一下,我正在通过连续体使用 spyder(蟒蛇)平台。
谢谢!

我看到至少两个(简单的)解决方案可以解决您的问题。

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

# 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文件中读取数据并组织它们,我建议你简单地使用熊猫或numpy的genfromtxt函数。

mydata=numpy.genfromtxt(filepath,*params)

如果 CSV 格式定期,则可以通过指定以下内容来提取每列的名称:

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

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

mydata['your header']

(Pandas也有类似的便捷方式从CSV或类似文件中以有组织的方式抓取数据。

但是,如果您想走很长的路并学习:

简单地说,您希望为正在使用的数据编写一个类,并具有自己的访问、修改、读取 #dosomething 函数。我认为,从阅读例如 iris 类或任何基于对象编程的初学者指南中对简单类的介绍中,您会从中获得更多收益,而不是为此编写代码。

要做你想做的事,对于一个对象 MyData,你可以有例如

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

最新更新