浅谈Pandas:Series和DataFrame间的算术元素

yipeiwu_com5年前Python基础

如下所示:

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设计】。

相关文章

用python3教你任意Html主内容提取功能

用python3教你任意Html主内容提取功能

本文将和大家分享一些从互联网上爬取语料的经验。 0x1 工具准备 工欲善其事必先利其器,爬取语料的根基便是基于python。 我们基于python3进行开发,主要使用以下几个模块:req...

Python下载网络小说实例代码

Python下载网络小说实例代码

看网络小说一般会攒上一波,然后导入Kindle里面去看,但是攒的多了,机械的Ctrl+C和Ctrl+V实在是OUT,所以就出现了此文。 其实Python我也是小白,用它的目的主要是它强大...

Python 包含汉字的文件读写之每行末尾加上特定字符

      最近,接手的项目里,提供的数据文件格式简直让人看不下去,使用pandas打不开,一直是io error.仔细查看,发现文件中...

详解Python中pandas的安装操作说明(傻瓜版)

详解Python中pandas的安装操作说明(傻瓜版)

很多人来问我pandas的安装(python数据分析里面的必修课) 步骤如下: 安装python的时候,把路径加到系统里,这样,随时可以用pip 路径添加方法: 查找路径: 路径1:...

python 获得任意路径下的文件及其根目录的方法

似乎有一段时间没有更新博客了,这里就写点小功能,轻松获得电脑任意路径下的文件及文件夹,并将其写入word,以下是主要代码: **import os** **from os impor...