浅谈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获取android设备的GPS信息脚本分享
Mar 06 Python
探究Python中isalnum()方法的使用
May 18 Python
详解python脚本自动生成需要文件实例代码
Feb 04 Python
python2.6.6如何升级到python2.7.14
Apr 08 Python
使用pandas中的DataFrame数据绘制柱状图的方法
Apr 10 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
Mar 14 Python
python将excel转换为csv的代码方法总结
Jul 03 Python
Django中间件拦截未登录url实例详解
Sep 03 Python
在pycharm中文件取消用 pytest模式打开的操作
Sep 01 Python
requests在python中发送请求的实例讲解
Feb 17 Python
python爬虫--selenium模块
Mar 31 Python
python使用PySimpleGUI设置进度条及控件使用
Jun 10 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
Memcache 在PHP中的使用技巧
2010/02/08 PHP
jQuery的12招常用技巧分享
2011/08/08 Javascript
js防止页面被iframe调用的方法
2014/10/30 Javascript
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
jQuery实现模拟marquee标签效果
2015/07/14 Javascript
浅谈javascript的Touch事件
2015/09/27 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
2015/11/17 Javascript
使用vue.js制作分页组件
2016/06/27 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
原生js实现弹出层登录拖拽功能
2016/12/05 Javascript
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
jquery对table做排序操作的实例演示
2017/08/10 jQuery
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
JavaScript经典案例之简易计算器
2020/08/24 Javascript
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
python微信好友数据分析详解
2018/11/19 Python
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
Python 实现数组相减示例
2019/12/27 Python
Python3运算符常见用法分析
2020/02/14 Python
HTML5 拖拽批量上传文件的示例代码
2018/03/28 HTML / CSS
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
MAC Cosmetics巴西官方网站:M·A·C彩妆
2019/04/18 全球购物
软件配置管理有什么好处
2015/04/15 面试题
汽车工程专业应届生求职信
2013/10/19 职场文书
经典优秀个人求职信分享
2013/12/12 职场文书
社区活动邀请函范文
2014/01/29 职场文书
大学生个人自荐信
2014/02/24 职场文书
学习雷锋标语
2014/06/25 职场文书
2014年党建工作总结
2014/11/11 职场文书
解决redis批量删除key值的问题
2022/03/23 Redis