python学习笔记六:Series
Series是一种类似于一维数组的对象,由以下两部分组成:
values:一组数据(ndarray或list类型)
index:相关的数据索引标签
一维数组默认索引为0,1,2,3...,而Series的索引可以自己给定,比如说统计班级同学身高时,用0,1,2,3...索引不明了,可以直接将每个人的名字当作索引,所以Series是一维数组的升级。
特别地,由ndarray创建的是引用,而不是副本。对Series元素的改变也会改变原来ndarray对象中的元素。(列表没有这种情况)一维
#导入三剑客:numpy;pandas;matplotlib
import pandas as pd
from pandas import Series,DataFrame
import numpy as np
import matplotlib.pyplot as plt
1.通过list,ndarray和 dict创建Series
#Series存储的数据必须是一维的,Data must be 1-dimensional
#通过列表创建序列
s = Series([1,3,5,7])
print(s)
s.index = list('abcd')
print(s)#通过ndarray创建序列
nd = np.random.randint(160,180,size = 4)
s1 = Series(nd,index = ['张三','李四','王五','赵六'])
print(s1)#通过字典创建序列
s2 = Series({'a':1,'b':3,'c':5,'d':7})
print(s2)
2.Series的索引和切片
可以使用中括号取单个索引(此时返回的是元素类型),或者中括号里一个列表取多个索引(此时返回的仍然是一个Series类型)。分为显式索引和隐式索引:
s = Series(np.random.random(10),index = list('abcdefghij'))#显式索引
print(s['a'])
print(s.loc['c'])#隐式索引
print(s[0])
print(s.iloc[2])
#切片
print(s[0:2])
print(s.loc['a':'c'])
3.Series的基本概念
当索引没有对应值时,可能缺失数据显示NaN(not a number)的情况
print(s.shape,s.size,s.values,s.index)#查看形状,大小,元素值,索引值
s.head()#查看前部分
s.tail()#查看后部分s = Series([1,2,None,np.nan],index = list('abcd'))
print(s)
print(s.sum())#检测缺失数据
s1 = s.isnull()
s2 = s.notnull()
s[s2]#会将True的元素全部提取出来
#name用于区分,DataFrame中用于区分,在DataFrame中是列名
s.name = '牛逼'
print(s)
#在进行线性运算时,如果包含Nan,那么fill_value默认将Nan设置为=后面的值
s.add(10,fill_value=0)
4.Series的线性运算
#两个Series进行相加时,就是索引相同进行相加
s1 = Series([2,4,7,9],index=[0,1,2,3])
s2 = Series([1,2,3,4],index=[2,3,4,5])
s1 + s2
运行结果:
0 NaN
1 NaN
2 8.0
3 11.0
4 NaN
5 NaN#使用add函数时,相加后每个索引都有值
s1.add(s2,fill_value=0)
运行结果:
0 2.0
1 4.0
2 8.0
3 11.0
4 3.0
5 4.0
数1组默认索引为0,1,2,3...,而Se
一维数组默认索引为0,1,2,3...,而Series的索引可以自己给定,比如说统计班级同学身高时,用0,1,2,3...索引不好,可以直接将每个人的名字当所以Series是一维数组的升级。
特别地,由ndarray创建的是引用,而不是副本。对Series元素的改变也会改变原来ndarray对象中的元素。(列表没有这种情况)
ries的索引可以自己给定,比如说统计班级同学身高时,用0,1,2,3...索引不好,可以直接将每个人的名字当作索引,所以Serie幅是v点击地,由ndarray创建的是引用,而不是副本。对Series元素的改变也会改变原来ndarray对象中的元素。(列表没
python学习笔记六:Series相关推荐
- Python学习笔记六——画小猪佩奇
目录 Python学习笔记六--画小猪佩奇 画布 画笔 属性设置 操纵命令 运动命令 画笔控制命令 全局控制命令 其他命令 Python学习笔记六--画小猪佩奇 使用Python的turtle库可以绘 ...
- Python学习笔记(六)
1. IO编程 1.1 文件读写 1.2 StringIO和BytesIO 1.3 操作文件和目录 1.4 序列化 2. 进程和线程 2.1 多进程 2.2 多线程 2.3 ThreadLocal 2 ...
- python学习笔记六 初识面向对象上(基础篇)
python面向对象 面向对象编程(Object-Oriented Programming )介绍 对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性是继承. ...
- 【懒懒的Python学习笔记六】
大多数程序旨在最终解决用户问题,为此通常需要从用户那里输入信息,在本章学习中,我们将学习Python的raw_input()函数接受用户输入以及学习while循环来控制程序的运行. 函数raw_inp ...
- Python学习笔记六(Python time模块)
通过python time模块提供的函数和方法可以获取与时间相关的操作,例如:获取系统时间,统计程序执行时间,WEB程序的响应时间等. 1)time.time(),该函数返回从1970年1月1日0点0 ...
- Python学习笔记(六)Python基础_数据类型——字符串
文章目录 字符串 字符串输入 字符串拼接 字符串操作 字符串格式化 访问字符串中的值 字符串切片 字符串遍历 常用的字符串方法 字符串 字符串是 Python 中最常用的数据类型:一般以使用引号' ' ...
- Python学习笔记(六)—几个标准类型内建函数
比如说cmp(),str(),type(),repr()等等 cmp(a,b)比较a和b,根据比较的结果返回一个整数i. 当a<b时返回i<0;(即-1) 当a>b时返回i>0 ...
- Python学习笔记总结
了解了python语言后,决定以后使用python来进行各项工作,因此一直想要深入学习python.千里之行始于足下,万事开头难. 由于最近在准备写毕业论文,陆陆续续学习了Python的语法知识. P ...
- python学习笔记(六)字典
python学习笔记(六)字典 1.字典初见 python中的字典实际上就是一系列的"键-值"对(key-value),它们之间时无序的,每一个键都必须有与之对应的值,这个值可以是 ...
最新文章
- LC124 Binary Tree Maximum Path Sum
- 开发日记-20190707 关键词 读书笔记 《Perl语言入门》Day 4
- 浅析无字符数字构造webshell
- 数据迁移其实是很难的
- 思科SDN技术:ACI架构概述
- window10 删除桌面删除不掉的ie图标(快捷方式)
- 美团外卖前端可视化界面组装平台 —— 乐高
- 如何彻底关闭Win10自动更新,Win10永久关闭自动更新的方法
- 美利财务平台架构演进
- 6 - 常用模块(os,sys,timedatetime,random,jsonpicle,shelve,hashlib)
- 教你如何用C/C++做高大上的软件界面
- win7系统安装硬盘格式转换问题
- python csv转tsv
- JVM 垃圾收集器 学习笔记(《深入理解java虚拟机》之六 垃圾收集)
- 8种绝对成交的销售话术技巧
- MPU9250的详细功能
- AtCoder Grand Contest 021完整题解
- idea debug源码
- 24点游戏 计算机编程,关于24点游戏的编程思路与基本算法
- 如何下载并安装Visual Studio
热门文章
- 有点做作--撩开“中国雅皮士”的神秘面纱
- npm(一):从npm CLI说起
- DataFrame中apply的用法
- VS2008安装失败解决方案(转)
- HDU 1863畅通工程(最小生成树)(prim算法)
- linux下sig_pipe函数,linux socket编程 出现信号SIGPIPE,分析及解决
- JavaWEB16E家园项目
- SSM+甘肃旅游系统 毕业设计-附源码211707
- 使用PIL的Image.fromarray报错KeyError: ((1, 1, 1), ‘|u1‘)
- LINUX虚拟机与主机的文件交互