当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Pandas DataFrame.fillna()用法及代码示例


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:Static, dictionary, array, series or dataframe to fill instead of NaN.
method: Method is used if user doesn’t pass any value. Pandas has different methods like bfill, backfill or ffill which fills the place with value in the Forward index or Previous/Back respectively.
axis:axis takes int or string value for rows/columns. Input can be 0 or 1 for Integer and ‘index’ or ‘columns’ for String
inplace:It is a boolean which makes the changes in data frame itself if True.
limit:This is an integer value which specifies maximum number of consequetive forward/backward NaN value fills.
downcast:It takes a dict which specifies what dtype to downcast to which one. Like Float64 to int64.
**kwargs: Any other Keyword arguments

有关代码中使用的 CSV 文件的链接,请单击此处。

范例1:用静态值替换 NaN 值。

更换前:


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

输出:

更换后:
在以下示例中,College 列中的所有空值都已替换为 “No college” 字符串。首先,从 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

输出:

范例2:使用方法参数



在以下示例中,method 设置为 ffill,因此同一列中的值替换空值。在这种情况下,Georgia State 替换了第 4 行和第 5 行大学列中的空值。同样,也可以使用 bfill、backfill 和 pad 方法。


# 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

输出:

范例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。




相关用法


注:本文由纯净天空筛选整理自Kartikaybhutani大神的英文原创作品 Python | Pandas DataFrame.fillna() to replace Null values in dataframe。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。