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

1、DataFrame算术运算

  • 加:add 或 +
  • 减:sub 或 –
    DataFrame后面简称DF

2、DF与标量之间的运算

这个才是最重要的!!!

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)

结果如下:

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

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)

结果如下:

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

② 使用”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)

结果如下:

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

3、DF与DF之间的运算

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)

结果如下:

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

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)

结果如下:

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

② 使用”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)

结果如下:

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

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

Original: https://www.cnblogs.com/math98/p/13591984.html
Author: math98
Title: DataFrame(6):DataFrame运算——算术运算

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/559883/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球