浅谈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 24 Python
介绍Python的Django框架中的QuerySets
Apr 20 Python
python 创建弹出式菜单的实现代码
Jul 11 Python
Python爬取附近餐馆信息代码示例
Dec 09 Python
Python爬虫设置代理IP的方法(爬虫技巧)
Mar 04 Python
python中sys.argv函数精简概括
Jul 08 Python
python os.path模块常用方法实例详解
Sep 16 Python
Python对excel文档的操作方法详解
Dec 10 Python
Python 用turtle实现用正方形画圆的例子
Nov 21 Python
python颜色随机生成器的实例代码
Jan 10 Python
Django 实现 Websocket 广播、点对点发送消息的代码
Jun 03 Python
使用opencv中匹配点对的坐标提取方式
Jun 04 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 读取和修改大文件的某行内容的代码
2009/10/30 PHP
PHP中的float类型使用说明
2010/07/27 PHP
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
PHP实现的随机红包算法示例
2017/08/14 PHP
php判断文件上传图片格式的实例详解
2017/09/30 PHP
js 代码集(学习js的朋友可以看下)
2009/07/22 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
javascript 常见功能汇总
2015/06/11 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
JS实现小星星特效
2019/12/24 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
JavaScript事件委托实现原理及优点进行
2020/08/29 Javascript
JS实现纸牌发牌动画
2021/01/19 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
django中静态文件配置static的方法
2018/05/20 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
Nike法国官方网站:Nike.com FR
2018/07/22 全球购物
C语言如何决定使用那种整数类型
2016/11/26 面试题
韩语专业本科生求职信
2013/10/01 职场文书
大学生自荐信
2013/12/11 职场文书
初一新生军训方案
2014/05/22 职场文书
党的群众路线教育实践活动对照检查剖析材料
2014/10/09 职场文书
工作收入证明模板
2015/06/12 职场文书
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle
教你一步步实现一个简易promise
2021/11/02 Javascript