浅谈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中使用Sitemap的方法讲解
Jul 22 Python
python自动裁剪图像代码分享
Nov 25 Python
Python面向对象之类和实例用法分析
Jun 08 Python
python+numpy实现的基本矩阵操作示例
Jul 19 Python
python实现一个函数版的名片管理系统过程解析
Aug 27 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
Nov 11 Python
python接口自动化如何封装获取常量的类
Dec 24 Python
Python基础之高级变量类型实例详解
Jan 03 Python
Python文件操作基础流程解析
Mar 19 Python
Python-jenkins模块获取jobs的执行状态操作
May 12 Python
Python代码覆盖率统计工具coverage.py用法详解
Nov 25 Python
浅谈Selenium+Webdriver 常用的元素定位方式
Jan 13 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
PHP5中使用PDO连接数据库的方法
2010/08/01 PHP
javascript新手语法小结
2008/06/15 Javascript
javascript模拟的Ping效果代码 (Web Ping)
2011/03/13 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
2015/07/18 Javascript
jQuery基于muipicker实现仿ios时间选择
2016/02/22 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
简述ES6新增关键字let与var的区别
2019/08/23 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
js实现简易点击切换显示或隐藏
2020/11/29 Javascript
Python内置的字符串处理函数详细整理(覆盖日常所用)
2014/08/19 Python
解析Python编程中的包结构
2015/10/25 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
pandas读取CSV文件时查看修改各列的数据类型格式
2019/07/07 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
详解python中eval函数的作用
2019/10/22 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
Python如何将字符串转换为日期
2020/07/31 Python
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
客服服务心得体会
2013/12/30 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
成绩单评语
2015/01/04 职场文书
辞职离别感言
2015/08/04 职场文书
婚礼答谢词范文
2015/09/29 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书
python爬虫selenium模块详解
2021/03/30 Python
MongoDB使用场景总结
2022/02/24 MongoDB