首页 > 编程语言 >python学习笔记六:Series

python学习笔记六:Series

时间:2023-02-18 10:07:29浏览次数:34  
标签:index python Series 笔记 索引 s2 print ndarray


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对象中的元素。(列表没

标签:index,python,Series,笔记,索引,s2,print,ndarray
From: https://blog.51cto.com/u_14036511/6065046

相关文章

  • python学习笔记五:numpy
    ndarray是一个多维数组的数据结构1.彩色图像是一个三维数组,通过matplotlib显示图像#显示图像importnumpyasnpimportmatplotlib.pyplotaspltfish=plt.imread('HappyF......
  • opencv学习笔记七十一:图像修复
    当我们的照片有划痕或遭到人为的涂鸦(比如马赛克)时,如果我们想让这些遭到破坏的图片尽可能恢复到原样,Opencv能帮我们做到吗?答案是肯定的。那么图像修复技术的原理是什么呢?简......
  • python学习笔记四:字典
    字典和集合一样是无序的,不能通过索引来存取,只能通过键来存取。字典的键必须是不可变的数据类型,如数字,字符串,元组等,列表等可变对象不能作为键。不允许同一个键出现两次,创建......
  • python学习笔记三:元组和集合
    学习python的小伙伴们经常会有这样一个疑问,既然有列表里,问什么还要有元组呢。因为列表是可变的,而元组是不可变的。比如我们经常需要传入函数的数据是不变的,这时就要用到元组......
  • python学习笔记二:列表
    列表通过索引读取数据:#索引读取数据a=[1,2,3]a[-1]运行结果:3列表支持嵌套:b=[[1,2,3],[4,5,6]]print(b)运行结果:[[1,2,3],[4,5,6]]列表可以修改:b=[[1,2,3],[4,5,6......
  • python学习笔记一:基本数据类型
    1、python的一切都是对象,对象是包含属性和方法的一个整体。2、数据类型的组成:身份(内存地址,通过id方法可看它的唯一标识符);类型(通过type方法查看);值(数据项)3、常用基本数据类型......
  • 新概念2册L33笔记(介词+空间)
    L33Outofthedarkness重点词汇explainv.explainsthtosb向某人解释explanationn.stormn.heavystorms暴风雨towardsprep.向、朝、(在空间/时间上接近)strug......
  • python-菜鸟娱乐
    计算两个数的最大公约数点击查看代码defcommon_divisor(m,n):whilem:ifm<n:t=mm=nn=t......
  • ubuntu18.04 添加python3.8环境
    默认是3.6,最好不要动,不要升级,直接加一个3.8环境进去就好。1、准备工作sudoaptupdatesudoaptinstallsoftware-properties-common 2、将DeadsnakesPPA添加到系......
  • 读Java实战(第二版)笔记13_Java模块系统
    1. NicolaiParlog编写的TheJavaModuleSystem1.1. 推荐阅读2. Jigsaw项目2.1. 开发持续了将近十年3. 关注点分离3.1. separationofconcern,SoC3.2. 将......