浅谈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 相关文章推荐
python自动化工具日志查询分析脚本代码实现
Nov 26 Python
Django Highcharts制作图表
Aug 27 Python
python中pandas.DataFrame排除特定行方法示例
Mar 12 Python
python中字符串类型json操作的注意事项
May 02 Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 Python
Python通过命令开启http.server服务器的方法
Nov 04 Python
TensorFlow实现卷积神经网络
May 24 Python
Django 内置权限扩展案例详解
Mar 04 Python
Python脚本打包成可执行文件过程解析
Oct 20 Python
Manjaro、pip、conda更换国内源的方法
Nov 17 Python
python实现发送邮件
Mar 02 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 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简单静态页生成过程
2008/03/27 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
javascript 树控件 比较好用
2009/06/11 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
Bootstarp 基础教程之表单部分实例代码
2017/02/03 Javascript
jquery animate动画持续运动的实例
2017/11/29 jQuery
React之PureComponent的使用作用
2018/07/10 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
[43:24]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.12
2020/12/17 DOTA
hmac模块生成加入了密钥的消息摘要详解
2018/01/11 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
python django model联合主键的例子
2019/08/06 Python
详解Anaconda 的安装教程
2020/09/23 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
公司前台辞职报告
2014/01/19 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
平安校园建设方案
2014/05/02 职场文书
党的群众路线教育实践活动查摆问题自查报告
2014/10/10 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
大学生安全教育心得体会
2016/01/15 职场文书
springboot+VUE实现登录注册
2021/05/27 Vue.js
「月刊Comic Alive」2022年5月号封面公开
2022/03/21 日漫