【问题标题】:How do you create your own data dictionary/structure in python如何在 python 中创建自己的数据字典/结构
【发布时间】:2016-05-04 13:37:05
【问题描述】:

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 或任何其他格式的数据创建我自己的数据字典,并将其转换为上述类似的格式,以便可以轻松调用数据并轻松访问功能/标签。
这可能吗?谁来帮帮我!! 顺便说一句,我正在使用 continuum 的 spyder (anaconda) 平台。
谢谢!

【问题讨论】:

    标签: python pandas dataset scikit-learn spyder


    【解决方案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
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      如果您只想从 csv 文件中读取数据并整理它们,我建议您简单地使用 pandas 或 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 方法。
      • 修改(#一些属性)

      【讨论】:

        猜你喜欢
        • 2011-12-07
        • 2019-10-11
        • 2012-03-08
        • 1970-01-01
        • 2014-07-26
        • 1970-01-01
        • 2013-12-10
        • 2021-01-12
        • 1970-01-01
        相关资源
        最近更新 更多