DataFrame(7):DataFrame运算——算术运算

简介: DataFrame(7):DataFrame运算——算术运算

1、DataFrame算术运算

加:add 或 +

减:sub 或 -

2、DataFrame与标量之间的运算(这个才是最重要的)

1)原始数据

x = [[np.nan,1,1,1,1],[2,2,np.nan,2,2],[3,3,3,3,3],[4,np.nan,4,4,4]]
df = pd.DataFrame(x,columns=list("abcde"))
display(df)


结果如下:

image.png


2)DataFrame与标量的加法运算

① 使用“+”运算符

x = [[np.nan,1,1,1,1],[2,2,np.nan,2,2],[3,3,3,3,3],[4,np.nan,4,4,4]]
df = pd.DataFrame(x,columns=list("abcde"))
display(df)
# DataFrame与标量的运算:df中的每个元素与100一一相加
df1 = df + 100
display(df1)
# 一列(Series)与标量的运算
display(df["a"])
df["a"] = df["a"] + 100
display(df)

结果如下:

image.png


② 使用“add()”函数

x = [[np.nan,1,1,1,1],[2,2,np.nan,2,2],[3,3,3,3,3],[4,np.nan,4,4,4]]
df = pd.DataFrame(x,columns=list("abcde"))
display(df)
df1 = df.add(100)
display(df1)
# 可以使用fill_value参数,给缺失值nan添加默认值
df2 = df.add(100,fill_value=1000)
display(df2)


结果如下:

image.png

注意:减法运算和加法运算的运算一摸一样,只需要将+换为-,将add()换位sub()即可。


3、DataFrame与DataFrame之间的运算

1)原始数据

x = pd.DataFrame({"a":[1,2,3],
                 "b":[2,3,4],
                 "c":[3,4,5]})
display(x)
y = pd.DataFrame({"a":[1,2,3],
                 "b":[2,3,4],
                 "d":[3,4,5]},
                 index=[1,2,3])
display(y)


结果如下:

image.png


2)DataFrame与DataFrame之间的减法运算

① 使用“+”运算符

x = pd.DataFrame({"a":[1,2,3],
                 "b":[2,3,4],
                 "c":[3,4,5]})
display(x)
y = pd.DataFrame({"a":[1,2,3],
                 "b":[2,3,4],
                 "d":[3,4,5]},
                 index=[1,2,3])
display(y)
display(x+y)


结果如下:

image.png


② 使用“sub()”函数

x = pd.DataFrame({"a":[1,2,3],
                 "b":[2,3,4],
                 "c":[3,4,5]})
display(x)
y = pd.DataFrame({"a":[1,2,3],
                 "b":[2,3,4],
                 "d":[3,4,5]},
                 index=[1,2,3])
display(y)
z = x.sub(y)
display(z)
z1 = x.sub(y,fill_value=100)
display(z1)


结果如下:

image.png

总结如下:DataFrame与DataFrame之间的运算,由于DataFrame中的每一元素都由其行列索引唯一确定,也就是说DataFrame中的每一元素都有一个(行索引,列索引)构成的坐标 。因此对于不同的DataFrame,只用索引匹配上的数据,对应元素相加,对于没有匹配上的数据,返回的是NaN值 。


相关文章
DataFrame(8):DataFrame运算——逻辑运算(用于筛选数据)(二)
DataFrame(8):DataFrame运算——逻辑运算(用于筛选数据)(二)
DataFrame(8):DataFrame运算——逻辑运算(用于筛选数据)(二)
|
1月前
|
索引 Python
Pandas 常用函数-数据排序
10月更文挑战第28天
14 1
|
3月前
|
数据挖掘 Python
pandas中的groupby函数应用
pandas中的groupby函数应用
24 0
pandas中的groupby函数应用
|
6月前
|
存储 Python
NumPy 简单算术:加减乘除及其他运算
NumPy 中的简单算术运算可以通过 `add`, `subtract`, `multiply`, `divide`, `power`, `mod`, `remainder` 等函数实现,这些函数支持条件运算,并接受 `where` 参数。例如,`add()` 实现加法,`subtract()` 表示减法,`multiply()` 是乘法,`divide()` 用于除法,`power()` 提升到幂次,`mod()` 和 `remainder()` 计算余数。`absolute()` 或 `abs()` 可以计算数组元素的绝对值。这些函数可用于数组或类似数组对象,返回新数组存储运算结果。
56 2
|
7月前
|
存储 索引 Python
dataframe学习知识总结
pandas DataFrame是Python中用于处理二维表格数据的重要数据结构,支持多种类型数据,提供丰富功能。可通过字典、列表或文件创建DataFrame,使用`.info()`、`.describe()`、`.head()`和`.tail()`查看数据信息。选择和过滤数据可按列名、行索引或条件进行。修改包括更新元素、列及添加/删除列。利用`.groupby()`和聚合函数进行分组分析,使用`.sort_values()`和`.rank()`排序,通过`.concat()`和`.merge()`合并数据。
101 3
DataFrame(8):DataFrame运算——逻辑运算(用于筛选数据)(一)
DataFrame(8):DataFrame运算——逻辑运算(用于筛选数据)(一)
DataFrame(8):DataFrame运算——逻辑运算(用于筛选数据)(一)
|
数据采集 数据挖掘 索引
pandas数据分析之数据运算(逻辑运算、算术运算、统计运算、自定义运算)
数据分析离不开数据运算,在介绍完pandas的数据加载、排序和排名、数据清洗之后,本文通过实例来介绍pandas的常用数据运算,包括逻辑运算、算术运算、统计运算及自定义运算。
457 0
R语言中DataFrame列名作为函数参数
在使用Tidyverse提供的各种函数时,我们很多时候都会直接传递DataFrame的列名作为函数参数,对对应的列进行操作。如果我们自定义的函数中需要传递列名作为函数参数,如何实现呢?
112 0
|
索引 Python
pandas把Series组合成DataFrame
pandas把Series组合成DataFrame
|
Python
Numpy中数组和矩阵操作的数学函数
Numpy 是一个强大的 Python 计算库。它提供了广泛的数学函数,可以对数组和矩阵执行各种操作。本文中将整理一些基本和常用的数学操作。
156 0
Numpy中数组和矩阵操作的数学函数