Python-Pandas模块Series( 四 )
7.2 多条件查询
print("-"*5 + "多条件查询" + "-"*5)print(s[(s > 2) & (s < 4) ])result:-----多条件查询-----c3dtype: int64注意:- 多条件查询中的and以及or必须使用对应的符号来表示,and用&,or用|来表示;
- 使用多条件的时候,为了避免出错,在每个条件上最好加上括号;
- 判断Value值是否为缺失值,isnull()判断series中的缺失值以及s.notnull()判断series中的非缺失值;
- 删除缺失值
- 使用dropna();
- 使用isnull()以及notnull();
- 填充缺失值
- 使用fillna;
- 使用指定值填充缺失值;
- 使用插值填充缺失值;
- 向前填充ffill;
- 向后填充bfill;
- 使用fillna;
# 创建一个带缺失值的Seriesimport pandas as pds = pd.Series([1,2,None,4])print(s)result:01.012.02NaN34.0dtype: float648.1 判断value值是否为缺失值有两种方式判断:
- s.isnull()判断s中的缺失值;
- s.notnull()判断s中的非缺失值;
# 缺失值的地方为Trueprint("-"*5 + "使用s.isnull判断" + "-"*5)print(s.isnull())#缺失值的地方为Falseprint("-"*5 + "使用s.notnull判断" + "-"*5)print(s.notnull())result:-----使用s.isnull判断-----0False1False2True3Falsedtype: bool-----使用s.notnull判断-----0True1True2False3Truedtype: bool8.2 删除缺失值
- 使用dropna()方法删除缺失值,返回新的Series对象;
- 使用series.isnull()以及series.notnull()方法,使用布尔筛选进行过滤出非缺失值;
print("-"*5 + "使用dropna()删除所有的缺失值" + "-"*5)print(s.dropna())print("-"*5 + "使用isnull()删除所有的缺失值" + "-"*5)print(s[~s.isnull()])print("-"*5 + "使用notnull()删除所有的缺失值" + "-"*5)print(s[s.notnull()])result:-----使用dropna()删除所有的缺失值-----01.012.034.0dtype: float64-----使用isnull()删除所有的缺失值-----01.012.034.0dtype: float64-----使用notnull()删除所有的缺失值-----01.012.034.0dtype: float648.3 使用fillna()填充缺失值
- 使用指定值填充缺失值;
- 使用插值填充缺失值;
print("-"*5 + "原来的Series" + "-"*5)print(s)print("-"*5 + "指定填充值0" + "-"*5)print(s.fillna(value = https://www.isolves.com/it/cxkf/bk/2020-07-19/0))print("-"*5 + "向前填充ffill" + "-"*5)print(s.fillna(method = "ffill"))print("-"*5 + "向后填充bfill" + "-"*5)print(s.fillna(method = "bfill"))result:-----原来的Series-----01.012.02NaN34.0dtype: float64-----指定填充值0-----01.012.020.034.0dtype: float64-----向前填充ffill-----01.012.022.034.0dtype: float64-----向后填充bfill-----01.012.024.034.0dtype: float64注意:默认情况下,填充缺失值都会创建一个新的Series对象,如果希望直接在原来的Series上进行修改的话,可以使用下面两种方式:
- 直接进行赋值;
- 给fillna()函数添加一个新的参数,inplace = True参数;
- 根据索引进行排序,使用series.sort_index(ascending = True);
- 根据值进行排序,使用series.sort_value(ascending = True);

文章插图
Series的描述性统计
更多原创干货,欢迎关注我的知乎"触摸壹缕阳光"以及公众号"AI机器学习与深度学习算法"
推荐阅读
- 教你编写你的第一个Linux 内核模块“hello_module”
- 三十九、Python内置模块之sys
- Nginx 的过滤模块是干啥用的?
- 我最喜欢用的 5 个 Ansible 模块
- 一篇文章搞定Python连接mysql数据库模块PyMySQL
- 在生意参谋中通过以下哪个模块可以查看竞品的流量结构 在生意参谋中通过以下哪个模块可以查看竞品的流量结构
- 直通车主要看什么数据 流量解析是在直通车的哪一个模块中
- Nginx健康检查模块,生产还能这样配置
- 这操作厉害:怎么样发布你的 Python模块给别人 “pip install”
- 门禁系统原理及组成模块电路分析
