浅谈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复制与引用用法分析
Apr 08 Python
使用Python神器对付12306变态验证码
Jan 05 Python
python 数据清洗之数据合并、转换、过滤、排序
Feb 12 Python
shell命令行,一键创建 python 模板文件脚本方法
Mar 20 Python
django manage.py扩展自定义命令方法
May 27 Python
Python实现字典(dict)的迭代操作示例
Jun 05 Python
Python实现将Excel转换成xml的方法示例
Aug 25 Python
在unittest中使用 logging 模块记录测试数据的方法
Nov 30 Python
利用Python检测URL状态
Jul 31 Python
python 五子棋如何获得鼠标点击坐标
Nov 04 Python
浅析python中的del用法
Sep 02 Python
python 使用csv模块读写csv格式文件的示例
Dec 02 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抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
PHP时间函数使用详解
2019/03/21 PHP
(jQuery,mootools,dojo)使用适合自己的编程别名命名
2010/09/14 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
详解AngularJS中的表达式使用
2015/06/16 Javascript
Bootstrap每天必学之面板
2015/11/30 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
Google 地图API资料整理及详细介绍
2016/08/06 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
Vue2 模板template的四种写法总结
2018/02/23 Javascript
select2 ajax 设置默认值,初始值的方法
2018/08/09 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
2019/09/26 Javascript
javascript实现留言板功能
2020/02/08 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
2020/10/26 Javascript
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
python3+PyQt5实现文档打印功能
2018/04/24 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
python程序文件扩展名知识点详解
2020/02/27 Python
使用已经得到的keras模型识别自己手写的数字方式
2020/06/29 Python
教师年度考核自我鉴定
2014/01/19 职场文书
市场营销求职信范文
2014/02/21 职场文书
《美丽的彩虹》教学反思
2014/02/25 职场文书
酒店员工职业生涯规划
2014/02/25 职场文书
质量承诺书怎么写
2014/05/24 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
综合测评个人总结
2015/03/03 职场文书
公司员工奖惩制度
2015/08/04 职场文书
MySQL 分页查询的优化技巧
2021/05/12 MySQL
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
如何设计高效合理的MySQL查询语句
2021/05/26 MySQL