如何在pandas中填充多列的na值
pandas fillna()函数对于填充 pandas DataFrame 列中的缺失值非常有用。
本教程提供了几个使用此函数填充以下 pandas DataFrame 中多列缺失值的示例:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({'team': ['A', np. nan , 'B', 'B', 'B', 'C', 'C', 'C'], 'points': [25, np. no , 15, np. no , 19, 23, 25, 29], 'assists': [5, 7, 7, 9, 12, 9, np. no , 4], 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) team points assists rebounds 0 A 25.0 5.0 11 1 NaN NaN 7.0 8 2 B 15.0 7.0 10 3 B NaN 9.0 6 4 B 19.0 12.0 6 5 C 23.0 9.0 5 6 C 25.0 NaN 9 7 C 29.0 4.0 12
示例1:填写所有列的缺失值
以下代码展示了如何为 DataFrame 中的所有列用零填充缺失值:
#replace all missing values with zero df. fillna (value= 0 ,inplace= True ) #view DataFrame print (df) team points assists rebounds 0 A 25.0 5.0 11 1 0 0.0 7.0 8 2 B 15.0 7.0 10 3 B 0.0 9.0 6 4 B 19.0 12.0 6 5 C 23.0 9.0 5 6 C 25.0 0.0 9 7 C 29.0 4.0 12
示例2:填充多列的缺失值
以下代码展示了如何仅针对 DataFrame 的点列和辅助列用零填充缺失值:
#replace missing values in points and assists columns with zero df[['points', 'assists']] = df[['points', 'assists']]. fillna (value= 0 ) #view DataFrame print (df) team points assists rebounds 0 A 25.0 5.0 11 1 NaN 0.0 7.0 8 2 B 15.0 7.0 10 3 B 0.0 9.0 6 4 B 19.0 12.0 6 5 C 23.0 9.0 5 6 C 25.0 0.0 9 7 C 29.0 4.0 12
示例3:用不同的值填充多列中的缺失值
下面的代码展示了如何用三个不同的值填充三个不同列中的缺失值:
#replace missing values in three columns with three different values df. fillna ({'team': ' Unknown ', 'points': 0 , 'assists': ' zero '}, inplace= True ) #view DataFrame print (df) team points assists rebounds 0 A 25.0 5 11 1 Unknown 0.0 7 8 2 B 15.0 7 10 3 B 0.0 9 6 4 B 19.0 12 6 5 C 23.0 9 5 6 C 25.0 zero 9 7 C 29.0 4 12
请注意,三列中的每个缺失值均已替换为唯一值。