浅谈Pandas:Series和DataFrame间的算术元素


Posted in Python onDecember 22, 2018

如下所示:

import numpy as np
import pandas as pd
from pandas import Series,DataFrame

一、Series与Series

s1 = Series([1,3,5,7],index=['a','b','c','d'])
s2 = Series([2,4,6,8],index=['a','b','c','e'])

索引对齐项相加,不对齐项的值取NaN

s1+s2
1
a  3.0
b  7.0
c 11.0
d  NaN
e  NaN
dtype: float64

二、DataFrame与DataFrame

data1 = {'水果':['苹果','梨','草莓'],
  '数量':[3,2,5],
  '价格':[10,9,8]}
data2 = {'数量':[3,2,5,6],
  '价格':[10,9,8,7]}
df1 = DataFrame(data1)
df2 = DataFrame(data2)

在行和列上同时对齐后进行计算,如果找不到对应项则取NaN

print(df1*df2)
价格 数量 水果
0 100.0 9.0 NaN
1 81.0 4.0 NaN
2 64.0 25.0 NaN
3 NaN NaN NaN

三、Series与DataFrame

1.利用广播实现DataFrame与某行的运算

print(df2+df2.iloc[0]) # 将第0行加到所有行上
价格 数量
0 20 6
1 19 5
2 18 8
3 17 9

2.利用广播实现DataFrame与某列的运算(指定轴axis=0)

print(df2.sub(df2.iloc[:,0],axis=0))
价格 数量
0 0 -7
1 0 -7
2 0 -3
3 0 -1

3.运算时如果无法对齐,则填充NaN

s = Series([1,1,1],index=['数量','价格','重量'])
print(df2+s)
价格 数量 重量
0 11 4 NaN
1 10 3 NaN
2 9 6 NaN
3 8 7 NaN

以上这篇浅谈Pandas:Series和DataFrame间的算术元素就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Django Form解决表单数据无法动态刷新的两种方法
Jul 14 Python
python中的迭代和可迭代对象代码示例
Dec 27 Python
Python实现嵌套列表去重方法示例
Dec 28 Python
python中numpy的矩阵、多维数组的用法
Feb 05 Python
selenium+python 去除启动的黑色cmd窗口方法
May 22 Python
python 魔法函数实例及解析
Sep 25 Python
如何解决python多种版本冲突问题
Oct 13 Python
Python3使用 GitLab API 进行批量合并分支
Oct 15 Python
如何使用 Flask 做一个评论系统
Nov 27 Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 07 Python
Django如何重置migration的几种情景
Feb 24 Python
一行代码python实现文件共享服务器
Apr 22 Python
对Python3.x版本print函数左右对齐详解
Dec 22 #Python
对pandas的算术运算和数据对齐实例详解
Dec 22 #Python
Python使用pandas对数据进行差分运算的方法
Dec 22 #Python
利用arcgis的python读取要素的X,Y方法
Dec 22 #Python
对python 读取线的shp文件实例详解
Dec 22 #Python
Python装饰器基础概念与用法详解
Dec 22 #Python
python 文本单词提取和词频统计的实例
Dec 22 #Python
You might like
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
thinkphp文件处理类Dir.class.php的用法分析
2014/12/08 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
JavaScript实现数据类型的相互转换
2016/03/06 Javascript
深入理解JavaScript 函数
2016/06/06 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
bootstrap下拉菜单使用方法解析
2017/01/13 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
vue ajax 拦截原理与实现方法示例
2019/11/29 Javascript
vue+ts下对axios的封装实现
2020/02/18 Javascript
JavaScript中的各种宽高属性的实现
2020/05/08 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
python通过opencv实现批量剪切图片
2017/11/13 Python
Python3列表内置方法大全及示例代码小结
2019/05/10 Python
对python tkinter窗口弹出置顶的方法详解
2019/06/14 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
意大利奢侈品购物网站:Deliberti
2019/10/08 全球购物
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
高二美术教学反思
2014/01/14 职场文书
社区创先争优承诺书
2014/08/30 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
毕业生政审意见范文
2015/06/04 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
SpringBoot生成License的实现示例
2021/06/16 Java/Android