头歌-Pandas基础-第1关:了解数据处理对象--Series

任务描述

本关任务:仔细阅读编程要求,完成相关要求。

相关知识

Pandas是为了解决数据分析任务而创建的,纳入了大量的库和标准数据模型,提供了高效地操作大型数据集所需的工具。 对于Pandas包,在Python中常见的导入方法如下:

 
 
  1. from pandas import Series,DataFrame
  2. import pandas as pd
Pandas中的数据结构
  • Series: 一维数组,类似于Python中的基本数据结构list,区别是Series只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。就像数据库中的列数据;
  • DataFrame: 二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器;
  • Panel:三维的数组,可以理解为DataFrame的容器。
了解Series

为了开始使用Pandas,我们必需熟悉它的两个重要的数据结构:SeriesDataFrame。虽然它们不是每一个问题的通用解决方案,但可以提供一个坚实的,易于使用的大多数应用程序的基础。 Series是一个一维的类似的数组对象,包含一个数组的数据(任何NumPy的数据类型)和一个与数组关联的数据标签,被叫做索引 。最简单的Series是由一个数组的数据构成:

 
 
  1. In [1]:obj=Series([4,7,-5,3])
  2. In [2]:obj
  3. Out[2]:
  4. 0 4
  5. 1 7
  6. 2 -5
  7. 3 3

Series的交互式显示的字符串表示形式是索引在左边,值在右边。因为我们没有给数据指定索引,一个包含整数0N-1这里N是数据的长度)的默认索引被创建。你可以分别的通过它的valuesindex属性来获取 Series的数组表示和索引对象:

 
 
  1. In [3]: obj.values
  2. Out[3]:array([4,7,-5,3])
  3. In [4]: obj.index
  4. Out[4]:Int64Index([0,1,2,3])

通常,需要创建一个带有索引来确定每一个数据点的Series

 
 
  1. In [5]:obj2=Series([4,7,-5,3],index=['d','b','a','c'])
  2. In [6]:obj2
  3. Out[6]:
  4. d 4
  5. b 7
  6. a -5
  7. c 3

如果你有一些数据在一个Python字典中,你可以通过传递字典来从这些数据创建一个Series,只传递一个字典的时候,结果Series中的索引将是排序后的字典的键。

 
 
  1. In [7]:sdata={'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000}
  2. In [8]:obj3=Series(sdata)
  3. In [9]:obj3
  4. Out[9]:
  5. Ohio 35000
  6. Texas 71000
  7. Oregon 16000
  8. Utah 5000
编程要求

根据提示,在右侧编辑器Begin-End处补充代码:

  • 创建一个名为series_aseries数组,当中值为[1,2,5,7],对应的索引为['nu', 'li', 'xue', 'xi']

  • 创建一个名为dict_a的字典,字典中包含如下内容{'ting':1, 'shuo':2, 'du':32, 'xie':44}

  • dict_a字典转化成名为series_bseries数组。

测试说明
  • 如果答案正确,则会输出True
  • # -*- coding: utf-8 -*-
    from pandas import Series, DataFrame
    import pandas as pd
    
    def create_series():
        '''
        返回值:
        series_a: 一个Series类型数据
        series_b: 一个Series类型数据
        dict_a:  一个字典类型数据
        '''
        # 请在此添加代码 完成本关任务
        # ********** Begin *********#
    
        # 创建一个名为series_a的series数组
        series_a = pd.Series([1, 2, 5, 7], index=['nu', 'li', 'xue', 'xi'])
    
        # 创建一个名为dict_a的字典
        dict_a = {'ting': 1, 'shuo': 2, 'du': 32, 'xie': 44}
    
        # 将dict_a字典转化成名为series_b的series数组
        series_b = pd.Series(dict_a)
    
        # ********** End **********#
    
        # 返回series_a, dict_a, series_b
        return series_a, dict_a, series_b
    
    # 测试
    result = create_series()
    '''
    print(result[0].equals(pd.Series([1, 2, 5, 7], index=['nu', 'li', 'xue', 'xi'])) and
          result[1] == {'ting': 1, 'shuo': 2, 'du': 32, 'xie': 44} and
          result[2].equals(pd.Series({'ting': 1, 'shuo': 2, 'du': 32, 'xie': 44})))
    '''

    扫描二维码关注公众号,回复: 17318527 查看本文章

猜你喜欢

转载自blog.csdn.net/Joy19981127/article/details/134758577