浅谈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面向对象编程中的类和对象学习教程
Mar 30 Python
python实现SMTP邮件发送功能
Jun 16 Python
python实现飞机大战
Sep 11 Python
python实现连续图文识别
Dec 18 Python
Python使用sqlalchemy模块连接数据库操作示例
Mar 13 Python
python读写csv文件的方法
Aug 13 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
Jan 19 Python
Python3如何在服务器打印资产信息
Aug 27 Python
Python中的流程控制详解
Feb 18 Python
用Python提取PDF表格的方法
Apr 11 Python
详解Flask开发技巧之异常处理
Jun 15 Python
Python使用BeautifulSoup4修改网页内容
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 采集心得技巧
2009/05/15 PHP
php 获取全局变量的代码
2011/04/21 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
Js中sort()方法的用法
2006/11/04 Javascript
javascript编程起步(第一课)
2007/01/10 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
Javascript类型系统之String字符串类型详解
2016/06/21 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
详解Vue 全局变量,局部变量
2019/04/17 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
python读取浮点数和读取文本文件示例
2014/05/06 Python
使用Python的判断语句模拟三目运算
2015/04/24 Python
13个最常用的Python深度学习库介绍
2017/10/28 Python
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
2019/02/12 Python
Pycharm远程调试原理及具体配置详解
2019/08/08 Python
PyQT5速成教程之Qt Designer介绍与入门
2020/11/02 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
Python对excel的基本操作方法
2021/02/18 Python
html5 canvas 画图教程案例分析
2012/11/23 HTML / CSS
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
二年级体育教学反思
2014/01/15 职场文书
禁毒宣传标语
2014/06/19 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
Ruby序列化和持久化存储 Marshal和Pstore介绍
2022/04/18 Ruby
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers