Python Pandas 数据结构之Series

Pandas 是一个 Python 的包,提供快速、灵活和富有表现力的数据结构,旨在使“关系”或“标记”数据的使用既简单又直观。它的目标是成为用Python进行实际的、真实的数据分析的基础高级模块。

对于没有经验的新手朋友来说,安装Pandas以及其余的NumPy和SciPy等工具包可能会有点困难。

最简单的方法不是直接安装Pandas,而是安装Python和构成SciPy数据科学技术栈的最流行的工具包(IPython,NumPy,Matplotlib,…)的集合Anaconda,它是一个跨平台(Linux,Mac OS X,Windows)的Python发行版,用于数据分析和科学计算。

本人就是小白,所以直接使用安装Anaconda的方式了。

Pandas 建立在NumPy之上,旨在与许多其他第三方库完美地集成在科学计算环境中。
以下是 pandas 做够胜任的一些事情:

  1. 在浮点和非浮点数据中轻松处理缺失数据(表示为NaN)
  2. 大小可变性:可以从DataFrame和更高维度的对象中插入和删除
  3. 自动和显式数据对齐:对象可以明确地与一组标签对齐,或者用户可以简单地忽略标签,让Series,DataFrame等在计算中自动对齐数据
  4. 强大,灵活的组(group by)功能,可对数据集执行拆分应用组合操作,用于聚合和转换数据
  5. 轻松将其他Python和NumPy数据结构中的不规则,不同索引数据转换为DataFrame对象
  6. 基于智能标签的切片,花式索引和子集大数据集
  7. 直观合并和加入数据集
  8. 灵活的重塑和数据集的旋转
  9. 轴的分层标记(每个刻度可能有多个标签)
  10. 强大的IO工具,用于从平面文件(CSV和分隔)、Excel文件、数据库以及能从超快的HDF5格式中保存或加载数据
  11. 特定时间序列功能:日期范围生成和频率转换、移动窗口统计、移动窗口线性回归、日期转换和滞后等

Pandas中主要有Series和DataFrame两种数据结构。

1 Series 可以看做有标签(默认是整数序列RangeIndex;可以重复)的一维数组(同类型)。是scalars的集合,同时也是DataFrame的元素。
2 DataFrame 一般是二维标签,尺寸可变的表格结构,具有潜在的异质型列。

Series
我们可以称之为序列,它主要是用来存储一行或者一列的数据,以及与其相关的索引集合。想必换个不专业的说法大家就很清楚了:一维数组。

语法:

Series([数据…], index=[索引…])

Series的索引是可以省略的,如果我们省略索引,那么索引号默认从0开始递增。当然了,我们也可以指定索引名,不限于使用整数,字符串也是可以的。

使用list或者索引来构建Series,看个例子:

在这里插入图片描述

在这里插入图片描述

使用dict来构建Series,看个例子:

在这里插入图片描述

Series数据访问可以通过以下方式获取:

1.通过索引访问元素(索引不能越界)

在这里插入图片描述
2.如果使用dict构建的,可以通过键值来访问:
在这里插入图片描述

注意:通过dict构建的Series,其实也可通过默认从0开始的索引进行访问的。

如果不存在的键值作为索引,会报错:
在这里插入图片描述
如果使用索引越界访问:
在这里插入图片描述

这里是使用dict构建的Series,所以会有两个错误,第一个会提示键值错误,第二个才是索引越界。

3.通过切片进行数据访问(切片的概念在写python相关的文章有过介绍)
在这里插入图片描述

  1. 定位获取,也就是获取多个数据,通常用于随机抽样

在这里插入图片描述

5.通过条件获取数据
在这里插入图片描述

如何向Series数据追加元素呢?我们可以使用append方法来实现。

看个例子:
在这里插入图片描述
乍一看好像没什么问题啊,运行后才发现又出错了:
在这里插入图片描述

哦,原来问题是出在Series不能追加单个元素,但是能够追加序列啊。

在这里插入图片描述

到这里,我们的使用姿势对了,可细心的朋友估计发现了,series_exam1的值怎么没有改变呢?

append方法返回的是一个新的序列,我们需要一个变量来接收这个变化,也就是需要对series_exam1进行赋值。

在这里插入图片描述

结果没有问题,series_exam1的值是我们预期的结果,可是索引好像不对啊。。。如果大家介意的话,自己的手动设置下索引了。
在这里插入图片描述

删除元素:

  1. 通过索引删除,同append方法返回的是一个新的序列

在这里插入图片描述

另外一种使用姿势,我们自定义了索引名称的时候:
在这里插入图片描述
这里首先通过索引找到对应的索引名称然后进行删除。。。看起来好像没有什么用处啊,有没有?

  1. 根据选择条件进行值删除(返回新的序列)

在这里插入图片描述

另外我们还可以通过sort_index和reindex方法对Series的索引进行排序。

在这里插入图片描述

sort_index默认是升序的,此时参数不用填写,这里为了演示而已。
在这里插入图片描述

在这里插入图片描述

当然了,还有好多知识点了,这里就先说这些了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值