Python-Pandas模块Series( 三 )
import pandas as pd# 此时的index为数值类型s = pd.Series(["a","b","c","d"],index = [1,2,3,4])# 会抛出语法错误的异常SyntaxError# print(s.2)import pandas as pd# 此时的index为数值类型s = pd.Series([1,2,3,4],index = ["a","b","c","def"])# 通过点索引获取value值print(s.a)# 会抛出语法错误的异常SyntaxError# print(s.def)result:15. Series的切片slice通过Series的切片来获取连续的多个索引对应的值,Series的切片有两种方式:
- 使用位置切片,类似s[start_index : end_index],熟悉python都知道这种切片方式,需要注意的这种方式切片同样是包左不包右;
- 使用名称切片,类似s [start_index_name , end_index_name],这种方式和上面使用位置切片的最大区别就是名称切片,即包左又包右;
import pandas as pds = pd.Series([1,2,3,4],index = ["a","b","c","d"])print(s)result:a1b2c3d4dtype: int645.1 位置切片
# 使用位置切片print(s[0:2])result:a1b2dtype: int645.2 名称切片
# 使用名称切片print(s["b":"d"])result:b2c3d4dtype: int64注意:在上面的索引方式,我们知道了位置索引和名称索引在index为数值类型时候的不同,当index为数值类型的时候,使用位置索引会抛出keyerror的异常,也就是说当index为数值类型的时候,索引使用的是名称索引 。但是在切片的时候,有很大的不同,如果index为数值类型的时候,切片使用的是位置切片 。总的来说,当index为数值类型的时候:
- 进行索引的时候,相当于使用的是名称索引;
- 进行切片的时候,相当于使用的是位置切片;
6.1 添加Series的值(增)为Series添加新的值的方式有两种:
- 使用series.Append(pd.Series(data,index))的方式添加,这种方式会返回一个新的Series对象,这种方式最大的特点就是可以添加多个Series值;
- 使用series["new_index"] = value的方式添加,这种方式会直接在原来的Series上进行修改,并且这种方式每次只能够添加一个Series值;
import pandas as pds = pd.Series(1,index =["a"])print(s)print("*"*6)# 使用append方式添加多个Series值# 此处将返回的值赋值给了原来的Series,因为使用append添加的话返回的是新的Series对象s = s.append(pd.Series([2,3],index = ["b","c"]))print(s)print("*"*6)# 使用s[new_index] = value方式添加s["d"] = 4print(s)result:a1dtype: int64******a1b2c3dtype: int64******a1b2c3d4dtype: int646.2 删除series的值(删)删除直接使用del关键字删除即可 。
import pandas as pd s = pd.Series([1,2,3,4],index = ["a","b","c","d"])print(s)print("*"*6)del s["b"]print(s)result:a1b2c3d4dtype: int64******a1c3d4dtype: int646.3 通过索引修改Series的值(改)其实此时介绍的修改Series的值和在4中介绍的一致,只不过将4中介绍的获取到的Series值进行重新的赋值即是修改对应Series的值,因此此处也有三种方式:
- 通过位置索引修改value值;
- 通过名称索引修改value值;
- 通过点索引修改value值;
import pandas as pds = pd.Series([1,2,3,4],index = ["a","b","c","d"])s["a"] = 100print(s)result:a100b2c3d4dtype: int646.4 判断索引是否在Series中(查)判断index是否在Series中很简单,其实和python中查看元素是否在list列表中的方法是一样的 。
import pandas as pd s = pd.Series([1,2,3,4],index = ["a","b","c","d"])print("a" in s)print("q" in s)result:TrueFalse7. 过滤Series的值我们可以通过布尔选择器,也就是条件筛选来过滤一些特定的值,从而仅仅获取满足条件的值 。过滤Series的值的方式分为两种:- 单条件筛选;
- 多条件筛选;
import pandas as pd s = pd.Series([1,2,3,4],index = ["a","b","c","d"])7.1 单条件筛选
print("-"*5 + "布尔选择器" + "-"*5)print(s < 3)print("-"*5 + "单条件查询" + "-"*5)print(s[s<3])result:-----布尔选择器-----aTruebTruecFalsedFalsedtype: bool-----单条件查询-----a1b2dtype: int64
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 教你编写你的第一个Linux 内核模块“hello_module”
- 三十九、Python内置模块之sys
- Nginx 的过滤模块是干啥用的?
- 我最喜欢用的 5 个 Ansible 模块
- 一篇文章搞定Python连接mysql数据库模块PyMySQL
- 在生意参谋中通过以下哪个模块可以查看竞品的流量结构 在生意参谋中通过以下哪个模块可以查看竞品的流量结构
- 直通车主要看什么数据 流量解析是在直通车的哪一个模块中
- Nginx健康检查模块,生产还能这样配置
- 这操作厉害:怎么样发布你的 Python模块给别人 “pip install”
- 门禁系统原理及组成模块电路分析
