pandas数组(pandas Series)-(4)NaN的处理
上一篇pandas数组(pandas Series)-(3)向量化运算里说到,将两个 pandas Series 进行向量化运算的时候,如果某个 key 索引只在其中一个 Series 里出现,计算的结果会是 NaN ,那么有什么办法能处理 NaN 呢?
1. dropna() 方法:
此方法会把所有为 NaN 结果的值都丢弃,相当于只计算共有的 key 索引对应的值:
import pandas as pd s1 = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
s2 = pd.Series([10, 20, 30, 40], index=['c', 'd', 'e', 'f']) s3 = s1+s2
print(s3) # 结果:
a NaN
b NaN
c 13.0
d 24.0
e NaN
f NaN
dtype: float64 print(s3.dropna()) # 结果:
c 13.0
d 24.0
dtype: float64
2. fill_value 参数:
设置 fill_value参数可以给一个Series没有key索引对应值的时候设置一个填充值:
s1 = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
s2 = pd.Series([10, 20, 30, 40], index=['c', 'd', 'e', 'f'])
s3 = s1.add(s2, fill_value=0)
print(s3) # 结果:
a 1.0
b 2.0
c 13.0
d 24.0
e 30.0
f 40.0
dtype: float64
这样, s2 里虽然没有 'a','b' 这个索引 key , s1 里虽然没有 'e','f' 这两个 key ,但是在运算的时候,会用 0 去填充进行运算,也可以设置为其他值.
可见,以上这两种方法的区别就在于,一个会除去两个 Series 不共有的 key ,一个会用填充值去填补不共有的 key 的值.
pandas数组(pandas Series)-(4)NaN的处理的更多相关文章
- pandas数组(pandas Series)-(1)
导入pandas import pandas as pd countries = ['Albania', 'Algeria', 'Andorra', 'Angola', 'Antigua and Ba ...
- pandas数组(pandas Series)-(3)向量化运算
这篇介绍下有index索引的pandas Series是如何进行向量化运算的: 1. index索引数组相同: s1 = pd.Series([1, 2, 3, 4], index=['a', 'b' ...
- pandas数组(pandas Series)-(2)
pandas Series 比 numpy array 要强大很多,体现在很多方面 首先, pandas Series 有一些方法,比如: describe 方法可以给出 Series 的一些分析数据 ...
- pandas数组(pandas Series)-(5)apply方法自定义函数
有时候需要对 pandas Series 里的值进行一些操作,但是没有内置函数,这时候可以自己写一个函数,使用 pandas Series 的 apply 方法,可以对里面的每个值都调用这个函数,然后 ...
- pandas中的Series
我们使用pandas经常会用到其下面的一个类:Series,那么这个类都有哪些方法呢?另外Series和DataFrame都继承了NDFrame这个类,df.to_sql()这个方法其实就是NDFra ...
- pandas中数据结构-Series
pandas中数据结构-Series pandas简介 Pandas是一个开源的,BSD许可的Python库,为Python编程语言提供了高性能,易于使用的数据结构和数据分析工具.Python与Pan ...
- pandas | 使用pandas进行数据处理——Series篇
本文始发于个人公众号:TechFlow,原创不易,求个关注 上周我们关于Python中科学计算库Numpy的介绍就结束了,今天我们开始介绍一个新的常用的计算工具库,它就是大名鼎鼎的Pandas. Pa ...
- python数据分析之pandas库的Series应用
一.pandas的数据结构介绍 1. Series 1.1 Series是由一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据索引构成.仅由一组数据可产生最简单的Series. from p ...
- Pandas之:Pandas简洁教程
Pandas之:Pandas简洁教程 目录 简介 对象创建 查看数据 选择数据 loc和iloc 布尔索引 处理缺失数据 合并 分组 简介 pandas是建立在Python编程语言之上的一种快速,强大 ...
随机推荐
- javascript判断是否按回车键
function enterHandler(event){ var keyCode = event.keyCode ? event.keyCode : event.which ? event.whic ...
- RHEL SHELL快捷键
Shell快捷键 CTRL+a 调到命令行头 e 调到命令行尾 CTRL+u 光标前面的删除 k 光标后面的删除 CTRL+→词的头 词的尾 ESC+. 粘贴上个命令的尾词 杀掉远 ...
- [转载]DB2与ORACLE、MYSQL比较2
原文地址:DB2与ORACLE.MYSQL比较2作者:欣颖 4.2 Oracle9i Oracle的产品战略是每12到18个月发布一个主要版本.主要发行版本所遵循的命名战略在PC领域中更为常见,它不 ...
- 使用T-SQL语句操作视图
转自:使用T-SQL语句操作视图 提示:只能查看,删除,创建视图,不能对数据进行增,删,改操作. use StuManageDB go --判断视图是否存在 if exists(Select * fr ...
- nullpointerxception——处理思路
概念: 1.所谓的指针,就是java中的对象的引用.比如String s;这个s就是指针.2.所谓的空指针,就是指针的内容为空.比如上面的s,如果令它指向null,就是空指针.3.所谓的空指针异常,就 ...
- log4delphi使用(转)
转自:http://blog.csdn.net/brightgems/article/details/814042 Log4d是apache下的一个delphi开源子项目,它的设计思想来源于Log4j ...
- url 中非法字符替换,java 正则替换
url在传输时不允许的一些字符串,参考自:http://www.ietf.org/rfc/rfc1738.txt 以下字符用java正则替换为"_",一句话搞定: "{& ...
- 命令行参数解析函数getopt和getopt_long函数【转】
原文地址:http://blog.csdn.net/cashey1991/article/details/7942809 getopt和getopt_long函数 平时在写程序时常常需要对命令行参 ...
- (转)Groupon前传:从10个月的失败作品修改,1个月找到成功 并不挶泥在这个点子上面,它反而往后站一步,看看他们已经做好的这个网站,可以再怎么包装成另一个完完全全不同的网站?所有的人所做的每件失败的事情中, 一定有碰到或含有成功的答案」在里面,只是他们不知道而已。 人不怕失败」,只怕宣布失败」
(转)Groupon前传:从10个月的失败作品修改,1个月找到成功 今天读到 一个非常励志人心的故事 ,就像现在「叶问」有「前传」,最近很火红的团集购网站Groupon 也出现了「Groupon前传」 ...
- 业务、架构、技术,我们应该关注什么 Java和.Net的优势劣势简单看法 市场经济决定,商业之道即是软件之道,市场的需求决定着软件技术的发展 利益决定着选择应用新技术
业务.架构.技术,我们应该关注什么 一个企业存在的必然和前提就是获取企业生成的利润,怎么样合法合理取得利润呢,企业怎么样生存下去呢,很简单,为客户提供等值的产品与服务,客户支付你相应的报酬. 我们是从 ...