Python数据分析 Pandas Series对象操作
作者:??tigeriaf???? 发布时间:2021-07-17 20:18:52
一、Pandas Series对象
Pandas 是基于 NumPy 设计实现的 Python 数据分析库,Pandas 提供了大量的能让我们高效处理数据的函数和方法,也纳入了很多数据处理的库以及一些数据模型,可以说非常强大。
可以使用以下命令进行安装:
conda install pandas
# 或
pip install pandas
Series数据结构
Pandas 最常用的数据结构主要有两种:Series 和 DataFrame,这篇文章主要介绍一下Series及如何创建Series对象。
Series 是一维数组,由一列索引index和一列值values组成,索引和值是一一对应的,可以存储不同种类的数据类型,字符串、布尔值、数字、Python对象等都可以。
创建Series对象
创建Series对象的格式如下:
s = pd.Series(data, index)
参数data为数据,可以是字典、列表、Numpy的 ndarray 数组等;
参数index为索引,值必须唯一,类似于Python字典的键,可以不传,默认为从0开始递增的整数。
从列表创建:
data = ["a", "b", "c", "d", "e"]
s = pd.Series(data)
s
从字典创建:
当data为字典时,如果没有传入索引的话,会按照字典的键来构造索引,索引对应的值就是字典的键对应的值。
data = {"a": 1, "b": 2, "c": 3}
s = pd.Series(data)
s
结果输出如下:
a 1
b 2
c 3
dtype: int64
从 ndarray 数组创建:
ndarray 为Numpy 的数组类型,在Python数据分析 Numpy 的使用方法的文章已经介绍过。
data = np.array([1, 2, 3, 4])
s = pd.Series(data)
s
我们可以通过创建的Series对象,调用相应的属性和方法来进行数据的处理分析等。下面继续来看Series对象的基本操作
二、Series对象的基本操作
Series 常用属性
index:获取索引
values:获取数组
size:获取元素数量
dtype:获取对象的数据类型
获取索引及修改索引:
data = ["a", "b", "c", "d"]
s = pd.Series(data)
print(s.index)
s.index = ["A", "B", "C", "D"]
print(s.index)
结果输出如下:
RangeIndex(start=0, stop=4, step=1)
Index(['A', 'B', 'C', 'D'], dtype='object')
指定索引对应元素的获取、修改及删除:
Series 通过索引获取、修改及删除对应元素和Python字典的操作有些类似,具体使用方法如下:
# 获取数据
print(s["A"])
# 修改数据
s['A'] = 99
# 删除数据
s = s.drop("B")
s
另外,Series 也支持通过筛选条件获取数据,例如获取能被2整除的数据:
data = np.array([1, 2, 3, 4])
s = pd.Series(data)
s[s%2==0]
Series 切片:
Series 切片操作同Python列表的切面也是类似的,如下:
s[0:3]
表示取第0、1、2个数据。
也可以使用索引值来进行切片,例如获取索引值B-D的值:
s["B":"D"]
复制代码
Series 常用方法
head(n):返回前n行数据,默认前5行
tail(n):返回后n行数据,默认后5行
isnull()&nonull():判断是否为空,返回True和False
sort_values():排序,通过传递ascending参数来确定升序or降序,默认为True,表示升序
dropna():删除空值
Series 运算
统计信息:
可以通过describe()
方法获取统计信息,如下:
也可以通过如下方法分别获取:
min():获取最小值
max():获取最大值
mean():获取均值
median():获取中位数
sum():获取总和
count():获取总数
······
四则运算:
s+2 # 对每个元素进行+2
s*100 # 对每个元素乘100
也可以调用如下方法进行:加法add()
、减法sub()
、乘法mul()
、除法div()
。
来源:https://juejin.cn/post/7084925907307069447


猜你喜欢
- 对于DBA来说,监控磁盘使用情况是必要的工作,然后没有比较简单的方法能获取到磁盘空间使用率信息,下面总结下这些年攒下的脚本:最常用的查看磁盘
- 在浏览几个网页时,发现有几个网站在显示时间时存在问题,比如今天是2009年1月4日,但是有的网站上却赫然写着今天是109年1月4日(这里有个
- 本文实例为大家分享了Thinkphp微信公众号支付接口,供大家参考,具体内容如下第一步 先把文件夹的那两个图片 配置成一样的路径
- 测试环境win10python 3.5yield功能简介简单来说,yield 的作用就是把一个函数变成一个 generator,带有 yie
- Mac安装软件时提示已损坏的解决方法从网上下载的SecureCRT、Principle等设计软件,以及输入法等常用软件,安装时可能会提示&a
- IronPython是一种在 .NET及 Mono上的 Python实现,由微软的 Jim Hugunin所发起,是一个开源的项目,基于微软
- 当子类继承父类后,需要调用父类的方法和属性时,需要调用父类的初始化函数。class A(object): def __init_
- 当程序中包含多个线程时,CPU 不是一直被特定的线程霸占,而是轮流执行各个线程。那么,CPU 在轮换执行线程的过程中,即从创建到消亡的整个过
- DQL(Data Query Language),数据查询语言,主要是用来查询数据的,这也是SQL中最重要的部分!简单查询#DQL操作之基本
- 用户输入1、使用input来等待用户输入。如 username = input('username:') password
- 一般事件 事件 浏览器支持 描述onClick IE3|N2|O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击onDblClick
- django路由和视图要了解django是如何运行的,首先要了解路由和视图两个概念,然后我们在项目中添加一些简单的路由和视图路由和视图的概念
- 本文实例为大家分享了python绘制高斯曲线的具体代码,供大家参考,具体内容如下源码:import numpy as npimport ma
- 本文实例讲述了PHP实现登录,注册及密码修改功能的方法。分享给大家供大家参考,具体如下:这里介绍注册,登录,修改密码的界面布局与功能实现:1
- 在服务端程序开发的过程中,cookie经常被用于验证用户登录。golang 的 net/http 包中自带 http cookie的定义,下
- 来自 * 我们的大脑通常最多能感知三维空间,超过三维就很难想象了。尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面。不过,我们
- 这篇文章是为了对网络模型的权重输出,可以用来转换成其他框架的模型。import tensorflow as tffrom tensorflo
- 今天遇到多条件搜索,其中需要用到in查询,但是laravel不支持 [ 'type', 'in', '
- 我们一般采用photoshop等做图工具制作电视扫描线效果图片:首先做一个黑白相间的图案,然后用这个图案进行填充,再调整图层的模式或者透明度
- 一、Time 包中定时器函数go v1.20.4定时函数:NewTicker,NewTimer 和 time.After 介绍time 包中