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(12):数据转换——apply(),applymap()函数的使用(一)
DataFrame(12):数据转换——apply(),applymap()函数的使用(一)
DataFrame(12):数据转换——apply(),applymap()函数的使用(一)
DataFrame(6):DataFrame的增、删、改、查(二)
DataFrame(6):DataFrame的增、删、改、查(二)
DataFrame(6):DataFrame的增、删、改、查(二)
|
索引 Python
Pandas中DataFrame的属性、方法、常用操作以及使用示例(四)
Pandas中DataFrame的属性、方法、常用操作以及使用示例(四)
|
存储 数据采集 数据处理
DataFrame赋值技巧:让数据处理更高效
DataFrame赋值技巧:让数据处理更高效
1684 0
|
数据采集 索引 Python
Pandas之DataFrame,快速入门,迅速掌握(二)
Pandas之DataFrame,快速入门,迅速掌握(二)
656 0
|
存储 数据采集 数据处理
Pandas中批量转换object至float的高效方法
在数据分析中,常需将Pandas DataFrame中的object类型列转换为float类型以进行数值计算。本文介绍如何使用`pd.to_numeric`函数高效转换,并处理非数字值,包括用0或平均值填充NaN值的方法。
1064 1
|
索引 Python
Pandas学习笔记之Dataframe
Pandas学习笔记之Dataframe
2223 2
|
索引 Python
如何在 Pandas 数据框中添加新列?
【8月更文挑战第30天】
1311 4
|
数据可视化 数据挖掘 Python
揭秘数据排序的神秘面纱:如何用DataFrame排序和排名洞悉数据背后的秘密?
【8月更文挑战第22天】DataFrame排序和排名是数据分析的关键步骤,尤其在使用Python的Pandas库处理表格数据时尤为重要。通过对DataFrame使用`sort_values()`方法可实现基于一列或多列的灵活排序,而`rank()`方法则能轻松完成数据排名。例如,对学生信息DataFrame按分数排序及排名,或先按年龄排序再按分数排名,均可快速洞察数据模式与异常值,适用于金融分析和教育研究等多个领域。掌握这些技术有助于提高数据分析效率并深入理解数据。
483 1
|
SQL 数据采集 索引
聚焦Pandas数据合并:掌握merge方法
聚焦Pandas数据合并:掌握merge方法
863 0