📜  Python|熊猫 dataframe.add()

📅  最后修改于: 2022-05-13 01:54:28.757000             🧑  作者: Mango

Python|熊猫 dataframe.add()

Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas 就是其中之一,它使导入和分析数据变得更加容易。

Dataframe.add()方法用于添加数据框和其他元素(二元运算符添加)。等效于数据框 + 其他,但支持用一个填充值替换其中一个输入中的缺失数据。

# Importing Pandas as pd
import pandas as pd
  
# Importing numpy as np
import numpy as np
  
# Creating a dataframe
# Setting the seed value to re-generate the result.
np.random.seed(25)
  
df = pd.DataFrame(np.random.rand(10, 3), columns =['A', 'B', 'C'])
  
# np.random.rand(10, 3) has generated a
# random 2-Dimensional array of shape 10 * 3
# which is then converted to a dataframe
  
df

输出

注意: add()函数类似于 '+' 操作,但是add()为其中一个输入中的缺失值提供了额外的支持。

# We want NaN values in dataframe. 
# so let's fill the last row with NaN value
df.iloc[-1] = np.nan
  
df

使用add()函数向数据框添加一个常量值:

# add 1 to all the elements
# of the data frame
df.add(1)
  

请注意上面的输出, df dataframe.add dataframe.add()函数中的 nan 单元格没有添加属性fill_value 。这将用分配的值填充缺失值(Nan)。如果两个数据框值都丢失,则结果将丢失。

让我们看看怎么做。

# We have given a default value
# of '10' for all the nan cells
df.add(1, fill_value = 10)


所有的nan单元格都先填充了 10,然后添加了 1。将系列添加到数据框:

对于系列输入,索引的维度必须与数据框和系列相匹配。

# Create a Series of 10 values
tk = pd.Series(np.ones(10))
  
# tk is a Series of 10 elements
# all filled with 1

# Add tk(series) to the df(dataframe)
# along the index axis
df.add(tk, axis ='index')

将一个数据框与其他数据框相加

# Create a second dataframe
# First set the seed to regenerate the result
np.random.seed(10)
  
# Create a 5 * 5 dataframe
df2 = pd.DataFrame(np.random.rand(5, 5), columns =['A', 'B', 'C', 'D', 'E'])
  
df2

让我们执行这两个数据帧的元素相加

df.add(df2)

请注意,生成的数据帧的维度为 10*5,并且在所有数据帧具有nan值的所有单元格中都具有nan值。

让我们修复它 -

# Set a default value of 10 for nan cells
# nan value won't be filled for those cells
# in which both data frames has nan value
df.add(df2, fill_value = 10)