【Pandas】数据结构Series 基本用法总结
对Series数据结构的理解:
(1)Series是Pandas中的数据结构;
(2)Series是DataFrame的一列数据;
(3)Series的索引,默认为0,1,2,3,4,5...,与列表不同的是Series的index可以自定义,列表不能自定义索引;
(4)Series有名字name,相当于列名;
(5)Series数据是对列表的封装;
总结:Series是由一维数组组成,具有索引和name的一种数据结构,且可以自定义索引的一种数据结构。
Series的数据结构 | ||
位置索引 | 标签索引 | 值(name) |
0 | a | 1 |
1 | b | 2 |
2 | c | 3 |
3 | d | 4 |
4 | e | 5 |
目录
一、 Series数据的创建
二、Series数据的索引(标签)
2.1Series数据的索引
2.2通过索引查找Series的值
2.3Series数据的删除
2.4Series元素的修改
三、Series的算数运算和数据对齐
3.1Series的算数运算
3.2Series数据对齐
四、Series的常见用法
五、Series数据基本操作总结
一、 Series数据的创建
import pandas as pd
import numpy as np
#通过数组创建
arr=np.arange(5)
s=pd.Series(arr,name='A')
#通过列表创建
lista=[0,1,2,3,4]
s=pd.Series(lista,name='A')
#通过字典创建,字典的键为索引,值为Series的值
dicta={0:0,1:1,2:2,3:3,4:4}
s=pd.Series(dicta,name='A')
s
Series数据可以通过数组,列表,字典来创建,在创建的过程中可以定义name和index。
二、Series数据的索引(标签)
2.1Series数据的索引
Series数据的默认索引为0,1,2,3,4,5...,也称位置索引或隐式索引,后文称位置索引。自定义索引后,后文称为标签索引,任然可以以位置索引访问Series。
2.2通过索引查找Series的值
s=pd.Series(np.arange(5),name='A',index=['a','b','c','d','e'])
#通过位置索引
#单个值
s[2]
#使用属性索引
s.c
#多个值
s[2:4]
#通过标签索引
#单个值
s['c']
#多个值
s[['c','d']]
Series通过位置索引和标签索引都可以访问元素,使用位置索引访问时,与列表一样,使用切片的方式;使用标签索引时,访问一个值标签放在‘[ ]’内,访问多个值,标签放在'[[ ]]'。
2.3Series数据的删除
#Series元素的删除
s=pd.Series(np.arange(5),name='A',index=['a','b','c','d','e'])
#单个值删除
# s.drop('c',inplace=True)
#多个值删除
s.drop(['c','e'],inplace=True)
s
Series数据的删除,使用s.drop()函数,删除单个值为索引,inplace参数为是否作用在原数据上。
2.4Series元素的修改
#Series元素的修改
#修改单个值
s.b=5
s[1]=5
#修改多个值
s[:2]=[8,9]
s
Series元素的修改,使用Series切片的方式,修改方式与列表一样。
三、Series的算数运算和数据对齐
3.1Series的算数运算
# Series的算数运算
s1=pd.Series(np.arange(5),name='A',index=['a','b','c','d','e'])
s2=pd.Series(np.arange(5,10),name='A',index=['a','b','c','d','e'])
s3=pd.Series(np.arange(5,10),name='B',index=['a','b','c','d','f'])
s4=pd.Series(['张三','李四','王五','赵六','麻七'],index=['a','b','c','d','e'])
s5=pd.Series(['1','2','3','4','5'],name='序号',index=['a','b','c','d','e'])
print(s1+s2)
print('='*100)
print(s1+s3)
print('='*100)
print(s4+s5)
print('='*100)
(1)我们定义了5个Series数据结构,s1,s2,s3的数据类型为int32,s1与s2相加,得到了一个新的Series,如下:
两个int32的Series数据相加,得到了数据的和。
(2)s3改变了一个Series数据的索引,将索引'e'改为'f',s1+s3结果如下:
显而易见,两个'int32'的Series相加,是将对应索引上面的数值相加,如果没有对应索引,返回空值。
(3)s4与s5的的数值类型为'object',s4+s5得到的结果为:
两个‘object’的Series相加,会将对应索引的元素进行拼接,其拼接形式与字符串的拼接一致。
3.2Series数据对齐
Series的数据对齐是指pandas自动将数据转换为统一的数值类型。
#数据对齐
s1=pd.Series([1,2,3,None,4],name='A',index=['a','b','c','d','e'])
s2=pd.Series([1,2,3,'',4],name='A',index=['a','b','c','d','e'])
print(s1)
print('='*140)
print(s2)
现在有两组Series数据,数据内的数值类型不一致,运行输出s1和s2,s1的dtype为数值型‘float64’,s2的dtype为字符串型‘object’,我们将这种自动统一数值类型的方式叫做数据对齐。在实际的应用过程中,要特别注意,如果数值类型不一致,需要进行转换。
四、Series的常见用法
#空值判断
s=pd.Series([1,2,3,np.nan,4,2],name='A',index=['a','b','c','d','e','f'])
s.isnull()
s.notnull()
#重复值查看
s=pd.Series([1,2,3,np.nan,4,2],name='A',index=['a','b','c','d','e','f'])
print(s.duplicated())
#删除重复值
s.drop_duplicates(inplace=True)
s
#显示唯一值
s=pd.Series([1,2,3,np.nan,4,2],name='A',index=['a','b','c','d','e','f'])
s.unique()
#统计性描述分析
s=pd.Series([1,2,3,np.nan,4,2],name='A',index=['a','b','c','d','e','f'])
s.describe()
#重置索引
s=pd.Series([1,2,3,np.nan,4,2],name='A',index=['a','b','c','d','e','f'])
s1=pd.Series(np.arange(5,11))
s.reset_index(drop=True)
五、Series数据基本操作总结
Series数据的基本操作总结 | ||
Series的创建 | 通过数组创建 | pd.Series(数组,name,index) |
通过列表创建 | pd.Series(列表,name,index) | |
通过字典创建 | pd.Series({索引:值...},name) | |
Series的索引 | 位置索引 | Series[位置索引] |
标签索引 | Series[[标签索引]] | |
Series的删除 | Series.drop(索引) | |
Series的修改 | Series[位置索引]=值 | |
Series的算数运算 | 数值型相加 | 数值型相加,返回对应位置的和 |
字符串型相加 | 字符串拼接 | |
Series的数据对齐 | 统一Series的数据类型 | |
Series的常见用法 | 空值判断 | Series.isnull() |
非空值判断 | Series.notnull() | |
查看重复值 | Series.duplicated() | |
删除重复值 | Series.drop_duplicates(inplace=True) | |
查看唯一值 | Series.unique() | |
描述性统计分析 | Series.describe() | |
重置索引 | Series.reset_index(drop=True) |
【Pandas】数据结构Series 基本用法总结相关推荐
- pandas库Series使用和ix、loc、iloc基础用法
1. pandas库Series基础用法: 直接贴出用例: 1. 构造/初始化Series的3种方法: (1)用列表list构建Series import pandas as pd my_list=[ ...
- python3-pandas 数据结构 Series、DataFrame 基础
Pandas 应用 Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融.统计.社会科学.工程等领域里的大多数典型用例. 数据结构 ...
- 数据分析:Pandas之Series用法总结
文章目录 Series 一.导入Series 二.创建Series 1.使用列表或者numpy进行创建,默认索引为0到N-1的整数型索引 2.使用字典创建(推荐使用) 三.Series的索引和切片 1 ...
- Pandas系列(一):数据结构(Series、DataFrame、时间序列)
Pandas系列目录 文章目录 一. 简介 二. 思维导图 三. Pandas数据结构 1. Series 1.1 简介 1.2 创建Series 1.3 Series属性 1.4 索引切片 1.4. ...
- dataframe python格式_python3.6 pandas,Series和DataFrame基础格式与用法,附代码实例
pandas 是基于numpy构建的库,加上numpy,主要用于科学运算和数据处理. 也是一个让我忘记昂贵的MATLAB,并且不得不复习SQL的库.. 一般引入规定: In [105]: from p ...
- pandas数据结构:Series/DataFrame;python函数:range/arange
1. Series Series 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index). 1.1 下边生成一个最简单的Series对象,因为没有给Series指定索引,所以此时会 ...
- Pandas知识点-Series数据结构介绍
Pandas知识点-Series数据结构介绍 本文用到的数据来源于网易财经,具体下载方式可以参考上一篇文章:https://blog.csdn.net/weixin_43790276/article/ ...
- Python——pandas模块—Series数据结构
Python--pandas模块-Series数据结构 Python--pandas模块-Series数据结构 pandas Series 创建Series 没有指定索引列时,自动创建:0~~(N-1 ...
- pandas简介及其数据结构Series详解
python高级应用与数据分析学习笔记 11 1.简介 1.1 介绍 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析 ...
最新文章
- 1968年12月9日,恩格尔巴特公开演示了世界上第一个鼠标盒子
- 北京2019高考分数线:本科理423文480
- VTK:Texture之TexturedSphere
- traceroute命令---Linux学习笔记
- 67-Flutter中高德地图插件的使用
- react-native 第三方库
- Launch和Shut Off操作详解 - 每天5分钟玩转 OpenStack(30)
- 雪,是死掉的雨,是雨的精魂
- URI 、URL 和 URN
- linux内核阻塞IO
- pandas将字符串转换成时间_数据处理利器 pandas 实例详解 (下)
- 十大战略工具(10)—— 商业模式画布
- 《Qt 实战一二三》
- Excel函数与公式
- Python处理Excel数据分组
- 【luogu P4218】珠宝商(SAM)(点分治)(根号分治)
- 小技巧:163 VIP邮箱如何登录?VIP163邮箱的优势
- 客户端单周发版下的多分支自动化管理与实践
- DNS云监控出现问题如何解决
- TypeError: this.getOptions is not a function at Object.lessLoader
热门文章
- RESTful HTTP中对POST,PUT,PATCH的区别
- 华为od一面面试算法
- 【Linux】基本知识和权限
- jdk1.8jdk1.7以及所有jdkjre历史版本
- 三阶魔方还原 two phase 算法 学习笔记
- STM32F1系列超声波测距程序
- 做人做事需牢记20条原则
- ubuntu系统出错且无法恢复请联系管理员(A problem has occurred and the system can‘t recover,please contact the admini)
- 一种可以使人体朝向神圣生命的电脑
- 在 React JS 中使用 JSON 占位符的Web 简易应用程序