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
猜你喜欢
- -crop参数是从一个图片截取一个指定区域的子图片.格式如下:convert -crop widthxheight{+-
- 如下所示:<strong><span style="font-size:14px;">文本过滤&
- AJAX初体验之上手篇AJAX是这两年蛮热的东西,我也凑凑热闹,前些天去找了些教程学学,下面就按整个处理过程把自己学的东西写写,不过,因为是
- 如下所示:import numpy as np arr = [1,2,3,4,5,6]#求均值arr_mean = np.mean(arr)
- 在python3爬虫中如何我们想要导入/导出Redis数据,就要安装使用RedisDump。RedisDump是一个用于Redis数据导入/
- Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。一、创建字典字典由键和对应值成对组成。字典也
- select for update 这个是行级锁 当 commit或者rollback时,锁释放 记得打开事务,比如jdbc里面 setAu
- 简述Motivationsometimes,换一种获取数据的方式,可以提高数据获取的速度。sometimes,由于预计爬取的数据长度不确定,
- 如果我们想对一个表的每一行做出比较复杂的操作,大多会想到用游标,本文中,我们将换一种思路,用SQL Server 2005中的新函数ROW_
- 使用 str.join() 方法打印不带括号的元组,例如 result = ','.join(my_tuple)。 str.
- 合并两个没有共同列的dataframe,相当于按行号求笛卡尔积。最终效果如下以下代码是参考别人的代码修改的:def cartesian_df
- 等啊等,约会都回来了,终于等到了Google放出今年的情人节Logo,原本下午四点就可以上线的这篇文章,为了等待Google谷歌美国总部的那
- 马上就要过节了,想把自己的项目搞得酷炫一些,对整个网站的按钮添加图标、飘花效果、首屏大图展示、顶部导航背景图,于是就写了这一遍文字,如有兴趣
- 1.下载Python官网:传送门根据自己的主机环境下载python2.安装下载完后直接安装,安装时自定义安装路径,这里路径要记下来我的安装路
- 1,WITH TEMPLET意思是,生成的页面架构将采用某个已设定的模板,在此之前我的一篇教程中介绍过,希望各位在看本教程之前对ASP采用模
- 一、正则表达式–元字符re 模块使 Python 语言拥有全部的正则表达式功能1. 数量词# 提取大小写字母混合的单词import rea
- 我是使用源码编译的方式安装的,网上有的可以添加 ppa 源进行在线安装,但我试了行不通,所以还是采用源码安装1、安装编译依赖项sudo ap
- 安装Apache1.安装yum -y install httpd2.开启apache服务systemctl start httpd.serv
- HTTP请求是无状态的,我们通常会使用cookie或session对其进行状态保持,cookie存储在客户端,容易被用户误删,安全性不高,s
- 1.世界地图绘制演示先给大家看下效果图哈。① 世界地图数据准备地图数据如下:因为是世界地图,所以对标的国家,我设置了 2 组,里面的数据是随