pandas 填充 nan 值
本教程解释了我们如何使用 dataframe.fillna()
方法用指定的值填充 nan 值。
我们将在本文中使用下面的 dataframe。
import numpy as np
import pandas as pd
roll_no = [501, 502, 503, 504, 505]
student_df = pd.dataframe(
{
"roll no": [501, 502, np.nan, 504, 505, 506],
"name": ["jennifer", "travis", "bob", "emma", "luna", "anish"],
"income(in $)": [200, 400, np.nan, 30, np.nan, np.nan],
"age": [17, 18, np.nan, 16, 18, np.nan],
}
)
print(student_df)
输出:
roll no name income(in $) age
0 501.0 jennifer 200.0 17.0
1 502.0 travis 400.0 18.0
2 nan bob nan nan
3 504.0 emma 30.0 16.0
4 505.0 luna nan 18.0
5 506.0 anish nan nan
dataframe.fillna()
方法
语法
dataframe.fillna(
value=none, method=none, axis=none, inplace=false, limit=none, downcast=none
)
dataframe.fillna()
方法使我们能够用指定的值或方法来填充 dataframe
中的 nan
值。
使用 dataframe.fillna()
方法用指定的值填充整个 dataframe
import numpy as np
import pandas as pd
roll_no = [501, 502, 503, 504, 505]
student_df = pd.dataframe(
{
"roll no": [501, 502, np.nan, 504, 505, 506],
"name": ["jennifer", "travis", "bob", "emma", "luna", "anish"],
"income(in $)": [200, 400, np.nan, 30, np.nan, np.nan],
"age": [17, 18, np.nan, 16, 18, np.nan],
}
)
filled_df = student_df.fillna(0)
print("dataframe with nan values")
print(student_df, "\n")
print("after applying fillna() to the dataframe:")
print(filled_df, "\n")
输出:
dataframe with nan values
roll no name income(in $) age
0 501.0 jennifer 200.0 17.0
1 502.0 travis 400.0 18.0
2 nan bob nan nan
3 504.0 emma 30.0 16.0
4 505.0 luna nan 18.0
5 506.0 anish nan nan
after applying fillna() to the dataframe:
roll no name income(in $) age
0 501.0 jennifer 200.0 17.0
1 502.0 travis 400.0 18.0
2 0.0 bob 0.0 0.0
3 504.0 emma 30.0 16.0
4 505.0 luna 0.0 18.0
5 506.0 anish 0.0 0.0
它将 dataframe student_df
中的所有 nan
值替换为 0
,该值作为参数传递给 dataframe.fillna()
方法。
import numpy as np
import pandas as pd
roll_no = [501, 502, 503, 504, 505]
student_df = pd.dataframe(
{
"roll no": [501, 502, np.nan, 504, 505, 506],
"name": ["jennifer", "travis", "bob", "emma", "luna", "anish"],
"income(in $)": [200, 400, np.nan, 30, np.nan, np.nan],
"age": [17, 18, np.nan, 16, 18, np.nan],
}
)
filled_df = student_df.fillna(method="ffill")
print("dataframe with nan values")
print(student_df, "\n")
print("after applying fillna() to the dataframe:")
print(filled_df, "\n")
输出:
dataframe with nan values
roll no name income(in $) age
0 501.0 jennifer 200.0 17.0
1 502.0 travis 400.0 18.0
2 nan bob nan nan
3 504.0 emma 30.0 16.0
4 505.0 luna nan 18.0
5 506.0 anish nan nan
after applying fillna() to the dataframe:
roll no name income(in $) age
0 501.0 jennifer 200.0 17.0
1 502.0 travis 400.0 18.0
2 502.0 bob 400.0 18.0
3 504.0 emma 30.0 16.0
4 505.0 luna 30.0 18.0
5 506.0 anish 30.0 18.0
它将所有 student_df
中的 nan
值填入与 nan
值相同列的 nan
值之前的值。
用指定的值填充指定列的 nan
值
为了用指定的值来填充特定的值,我们向 fillna()
方法传递一个字典,以列名作为键,以该列的 nan
值作为值。
import numpy as np
import pandas as pd
roll_no = [501, 502, 503, 504, 505]
student_df = pd.dataframe(
{
"roll no": [501, 502, np.nan, 504, 505, 506],
"name": ["jennifer", "travis", "bob", "emma", "luna", "anish"],
"income(in $)": [200, 400, np.nan, 300, np.nan, np.nan],
"age": [17, 18, np.nan, 16, 18, np.nan],
}
)
filled_df = student_df.fillna({"age": 17, "income(in $)": 300})
print("dataframe with nan values")
print(student_df, "\n")
print("after applying fillna() to the dataframe:")
print(filled_df, "\n")
输出:
dataframe with nan values
roll no name income(in $) age
0 501.0 jennifer 200.0 17.0
1 502.0 travis 400.0 18.0
2 nan bob nan nan
3 504.0 emma 300.0 16.0
4 505.0 luna nan 18.0
5 506.0 anish nan nan
after applying fillna() to the dataframe:
roll no name income(in $) age
0 501.0 jennifer 200.0 17.0
1 502.0 travis 400.0 18.0
2 nan bob 300.0 17.0
3 504.0 emma 300.0 16.0
4 505.0 luna 300.0 18.0
5 506.0 anish 300.0 17.0
它将 age
列中的所有 nan
值填充为 17,将 income(in $)
列中的所有 nan
值填充为 300。roll no
栏中的 nan
值保持不变。
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
pandas dataframe dataframe.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:python
-
dataframe.shift() 函数是将 dataframe 的索引按指定的周期数进行移位。
python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:python
-
python pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:python
-
pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。
pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:python
-
本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。
pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:python
-
本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。
在 python 中将 pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:python
-
了解如何在 python 中将 pandas 系列日期时间转换为字符串