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

本文介绍了Pandas库中的Series和DataFrame数据结构,以及如何在Python中创建和操作这些结构。通过实例展示了如何创建具有指定索引的Series,以及如何将字典转换为Series。最后给出了编程要求和测试说明。
摘要由CSDN通过智能技术生成
任务描述

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

相关知识

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})))
    '''

PandasPython语言中一种数据处理和分析库,它可以用于数据的清洗、转换、分析和可视化等操作。在实际的数据处理过程中,数据的质量往往会影响到后续的分析和建模结果,因此数据清洗是非常重要的一步。本文将介绍Pandas中常用的数据清洗方法。 1.缺失值处理 数据中可能存在缺失值,缺失值对分析结果的影响很大,因此需要进行处理。Pandas提供了fillna()函数来填充缺失值,可以使用均值、中位数、众数等方法进行填充,也可以使用前向填充、后向填充等方法进行填充。 2.重复值处理 数据中可能存在重复值,重复值会对分析结果产生误导,因此需要进行处理。Pandas提供了drop_duplicates()函数来删除重复值,可以根据指定的列进行去重,也可以根据所有列进行去重。 3.异常值处理 数据中可能存在异常值,异常值会对分析结果产生影响,因此需要进行处理。Pandas提供了clip()函数来处理异常值,可以将大于或小于指定值的数据截断成指定值。 4.字符串处理 数据中可能存在字符串类型的数据,需要进行处理。Pandas提供了str属性来对字符串进行处理,可以使用split()函数来分割字符串,使用strip()函数来去除字符串中的空格等。 5.类型转换 数据中可能存在不同类型的数据,需要进行类型转换。Pandas提供了astype()函数来进行类型转换,可以将字符串转换成数值型、将数值型转换成字符串等。 以上是Pandas中常用的数据清洗方法,通过对数据进行清洗和处理,可以提高数据的质量,进而得到更准确的分析和建模结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值