如何在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

请注意,三列中的每个缺失值均已替换为唯一值。

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注