首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

pandas | DataFrame基础运算以及空值填充

上一篇文章当中我们介绍了DataFrame数据结构当中一些常用索引使用方法,比如iloc、loc以及逻辑索引等等。今天文章我们来看看DataFrame一些基本运算。...DataFrame当中常用运算符有这么几种: ? add、sub、div这些我们都很好理解,那么这里radd、rsub方法又是什么意思呢,为什么前面要加上一个r呢?...dropna 当然只是发现是否是空值肯定是不够,我们有时候希望不要空值出现,这个时候我们可以选择drop掉空值。针对这种情况,我们可以使用DataFrame当中dropna方法。 ?...我们可以看到,当我使用ffill填充时候,对于第一行数据来说由于它没有前一行了,所以它Nan会被保留。同样当我使用bfill时候,最后一行也无法填充。...在进行四则运算时候由于DataFrame之间可能存在行列索引不能对齐情况,这样计算得到结果会出现空值,所以我们需要对空值进行处理。

3.8K20

【Pandas教程】像写SQL一样用Pandas~

写在最前 Python在数据分析领域有三个必须需要熟悉库,分别是pandas,numpy和matplotlib,如果排个优先级的话,推荐先学pandas。...numpy主要用于数组和矩阵运算,一般在算法领域应用比较多。...matplotlib用于作图的话其实可替代库会比较多,譬如有封装更高级seaborn,调用起来更方便,也有交互性更强pyecharts,风格更讨喜。...其实一开始对这两个方法很容易混淆,其实后面发现很好区分,如果需要用列名来筛选,请用loc,如果使用索引,请用iloc。...; left_on:left中连接键; right_on:right中连接键; left_index/right_index:默认为False,如果为True则使用索引作为连接键。

2.2K30

Pandas知识点-算术运算函数

Pandas中都实现了对应算术运算函数,如add()、sub()、mul()、div()等,常用算术运算函数见下表。...所以本文中只以加法运算函数add()作为例子,使用其他函数将函数名进行替换即可。如果有特殊地方,单独说明。 二、DataFrame与数字算术运算 ?...DataFrame与数字相加,会将DataFrame每一个数都与指定数字相加,返回一个新DataFrame(不是修改原DataFrame,而是返回一个新DataFrame)。...当且仅当两个DataFrame中都有值,才会有运算结果,其他位置结果都为空值,运算原理如下图。 ? 在运算结果中有很多空值,如果需要进行空值填充,可以使用fillna()函数。 ?...与DataFrame不同是,使用fill_value参数先填充数据再进行运算,结果中不会有空值。因为Series是一维数据,对Series填充,不存在两个Series都是填充值索引

1.9K40

数据科学 IPython 笔记本 7.6 Pandas 中数据操作

Pandas 包含一些有用调整,但是:对于一元操作,如取负和三角函数,这些ufunc将保留输出中索引和列标签,对于二元操作,如加法和乘法,将对象传递给ufunc,Pandas 将自动对齐索引。...通用函数:索引对齐 对于两个Series或DataFrame对象二元操作,Pandas 将在执行操作过程中对齐索引。这在处理不完整数据非常方便,我们将在后面的一些示例中看到。...例如,调用A.add(B)相当于调用A + B,但对于A或``B`中任何可能缺失元素,可以显式指定填充值: A.add(B, fill_value=0) ''' 0 2.0 1 5.0...2 9.0 3 5.0 dtype: float64 ''' 数据帧中索引对齐 在DataFrames上执行操作,列和索引都会发生类似的对齐: A = pd.DataFrame(rng.randint...执行DataFrame和Series之间操作,与之相似,索引和列是保持对齐

2.7K10

Pandas切片操作:一个很容易忽视错误

1 0.1 11 1 5 50.0 15 2 4 50.0 14 3 3 0.3 13 4 4 50.0 14 5 5 50.0 15 得到预期结果√ 这是为什么呢...这里我们就遇到了所谓“链接索引”,具体原因是使用了两个索引器,例如:df[][] df[df['x']>3] 导致Pandas创建原始DataFrame单独副本 df[df['x']>3]['y']...这是因为,当我们从DataFrame中仅选择一列,Pandas创建一个视图,而不是副本。关于视图和副本区别,下图最为形象: ?...pandas提供了copy()方法,当我们将命令更新为以下所示命令: z = df['y'].copy() 我们将在内存中创建一个具有其自己地址全新对象,并且对“z”进行任何更新df都将不受影响...实际上有两个要点,可以使我们在使用切片和数据操作免受任何有害影响: 避免链接索引,始终选择.loc/ .iloc(或.at/ .iat)方法; 使用copy() 创建独立对象,并保护原始资源免遭不当操纵

2.2K20

Python科学计算之Pandas

注意到当我们提取了一列,Pandas将返回一个series,而不是一个dataframe。是否还记得,你可以将dataframe视作series字典。...正如loc和iloc,上述代码将返回一个series包含你所索引数据。 既然ix可以完成loc和iloc二者工作,为什么还需要它们呢?最主要原因是ix有一些轻微不可预测性。...还记得说数字标签索引是ix备选吗?数字标签可能让ix做出一些奇怪事情,例如将一个数字解释成一个位置。而loc和iloc则为你带来了安全、可预测、内心宁静。...由于我所以已经是有序了,所以为了演示,设置了关键字参数’ascending’为False。这样,数据以降序排列。 ? 当你为一列数据设置了一个索引,它们将不再是数据本身了。...当我们以年份这一列进行合并,仅仅’jpn_rainfall’这一列和我们UK雨量数据集对应列进行了合并。 ?

2.9K00

Python可视化数据分析05、Pandas数据分析

使用Pandas,需要先熟悉它两个主要数据结构:Series和DataFrame,它们为大多数应用提供了一种可靠、易于使用基础。...如果对象中有4个数据,索引赋值也必须保证索引中有4个元素。...=["a", "b", "c"]) print(frame2) 操作DataFrame对象中列 在DataFrame对象中使用columns属性获取所有的列,并显示所有列名称 DataFrame对象每竖列都是一个...对象中values属性 values属性以二维Ndarray形式返回DataFrame数据 如果DataFrame各列数据类型不同,则值数组数据类型就会选用能兼容所有列数据 from pandas...insert 将元素插入到索引指定位置处,并得到新Index is_monotonic 当各元素均大于等于前一个元素,返回True is_unique 将Index没有重复值,返回True unique

2.5K20
领券