Pandas – DataFrame.fillna() 替换DataFrame中的空值

Pandas – DataFrame.fillna() 替换DataFrame中的空值

Python是一种做数据分析的伟大语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。 Pandas 是这些包中的一个,它使导入和分析数据变得更加容易。

有时csv文件中有空值,这些空值后来在DataFrame中显示为NaN。就像pandas dropna()方法管理并从DataFrame中移除空值一样,fillna()方法管理并让用户用自己的一些值替换NaN值。

语法:

DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)

参数:

value : 填充静态的、字典的、数组的、系列的或DataFrame的,而不是NaN。
method : 如果用户没有传递任何值,则使用该方法。Pandas有不同的方法,如bfill、backfill或fill,它们分别在前向索引或前向/后向的位置上填入数值。
axis: axis对于行/列来说,需要输入int或string值。对于整数,输入可以是0或1;对于字符串,输入 “index “或 “columns”。
inplace: 这是一个布尔值,如果为真,则在DataFrame本身中进行更改。
limit : 这是一个整数值,用于指定后续的前向/后向NaN值填充的最大数量。
downcast : 它需要一个dict,指定将什么d类型下移到什么类型。比如Float64到int64。
**kwargs : 任何其他关键字参数

关于代码中使用的CSV文件的链接,请点击这里

例子#1:用静态值替换NaN值。

在更换之前。

# importing pandas module
import pandas as pd
  
# making data frame from csv file
nba = pd.read_csv("nba.csv")
  
nba

输出:
DataFrame.fillna() 替换DataFrame中的空值

替换之后。
在下面的例子中,学院列中的所有空值都被替换为 “无学院 “字符串。首先,从CSV中导入DataFrame,然后选择College列并对其使用fillna()方法。

# importing pandas module
import pandas as pd
  
# making data frame from csv file
nba = pd.read_csv("nba.csv")
  
# replacing na values in college with No college
nba["College"].fillna("No College", inplace = True)
  
nba

输出:
DataFrame.fillna() 替换DataFrame中的空值

例子#2:使用方法参数

在下面的例子中,方法被设置为ffill,因此同一列中的值取代了空值。在这个例子中,乔治亚州取代了第4行和第5行的大学列的空值。
同样地,也可以使用bfill、回填和垫层方法。

# importing pandas module
import pandas as pd
  
# making data frame from csv file
nba = pd.read_csv("nba.csv")
  
# replacing na values in college with No college
nba["College"].fillna( method ='ffill', inplace = True)
  
nba

输出:
DataFrame.fillna() 替换DataFrame中的空值

例子#3:使用极限

在这个例子中,在fillna()方法中设置了1的限制,以检查函数是否在一次成功替换NaN值后停止替换。

# importing pandas module
import pandas as pd
  
# making data frame from csv file
nba = pd.read_csv("nba.csv")
  
# replacing na values in college with No college
nba["College"].fillna( method ='ffill', limit = 1, inplace = True)
  
nba

输出:
如输出中所示,第4行的大学列被替换,但第5行没有被替换,因为限制被设置为1。
DataFrame.fillna() 替换DataFrame中的空值

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程