头歌-Pandas基础-第1关:了解数据处理对象--Series
是为了解决数据分析任务而创建的,纳入了大量的库和标准数据模型,提供了高效地操作大型数据集所需的工具。虽然它们不是每一个问题的通用解决方案,但可以提供一个坚实的,易于使用的大多数应用程序的基础。的交互式显示的字符串表示形式是索引在左边,值在右边。的数据类型)和一个与数组关联的数据标签,被叫做索引。是一个一维的类似的数组对象,包含一个数组的数据(任何。是数据的长度)的默认索引被创建。通常,需要创建一个
任务描述
本关任务:仔细阅读编程要求,完成相关要求。
相关知识
Pandas是为了解决数据分析任务而创建的,纳入了大量的库和标准数据模型,提供了高效地操作大型数据集所需的工具。 对于Pandas包,在Python中常见的导入方法如下:
from pandas import Series,DataFrameimport pandas as pd
Pandas中的数据结构
Series: 一维数组,类似于Python中的基本数据结构list,区别是Series只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。就像数据库中的列数据;DataFrame: 二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器;Panel:三维的数组,可以理解为DataFrame的容器。
了解Series
为了开始使用Pandas,我们必需熟悉它的两个重要的数据结构:Series 和DataFrame。虽然它们不是每一个问题的通用解决方案,但可以提供一个坚实的,易于使用的大多数应用程序的基础。 Series是一个一维的类似的数组对象,包含一个数组的数据(任何NumPy的数据类型)和一个与数组关联的数据标签,被叫做索引 。最简单的Series是由一个数组的数据构成:
In [1]:obj=Series([4,7,-5,3])In [2]:objOut[2]:0 41 72 -53 3
Series的交互式显示的字符串表示形式是索引在左边,值在右边。因为我们没有给数据指定索引,一个包含整数0到N-1这里N是数据的长度)的默认索引被创建。你可以分别的通过它的values和index属性来获取 Series的数组表示和索引对象:
In [3]: obj.valuesOut[3]:array([4,7,-5,3])In [4]: obj.indexOut[4]:Int64Index([0,1,2,3])
通常,需要创建一个带有索引来确定每一个数据点的Series。
In [5]:obj2=Series([4,7,-5,3],index=['d','b','a','c'])In [6]:obj2Out[6]:d 4b 7a -5c 3
如果你有一些数据在一个Python字典中,你可以通过传递字典来从这些数据创建一个Series,只传递一个字典的时候,结果Series中的索引将是排序后的字典的键。
In [7]:sdata={'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000}In [8]:obj3=Series(sdata)In [9]:obj3Out[9]:Ohio 35000Texas 71000Oregon 16000Utah 5000
编程要求
根据提示,在右侧编辑器Begin-End处补充代码:
-
创建一个名为
series_a的series数组,当中值为[1,2,5,7],对应的索引为['nu', 'li', 'xue', 'xi']; -
创建一个名为
dict_a的字典,字典中包含如下内容{'ting':1, 'shuo':2, 'du':32, 'xie':44}; -
将
dict_a字典转化成名为series_b的series数组。
测试说明
- 如果答案正确,则会输出
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}))) '''
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)