Python Pandas – 将缺失列(NaN)值填充为常量
在使用Python Pandas处理数据的时候,经常会遇到缺失值NaN的问题。有时候我们需要将这些缺失值填充为常量。这个过程非常简单,下面我们会讲解具体的实现。
准备数据
首先,我们需要准备一些数据作为例子。代码如下:
import pandas as pd
import numpy as np
data = {'Name': ['Tom', 'Jack', 'John', 'Marry', 'Rose'],
'Age': [20, np.nan, 25, 19, 21],
'City': ['London', np.nan, 'Paris', 'New York', 'Beijing']}
df = pd.DataFrame(data)
print(df)
得到的输出结果如下:
Name Age City
0 Tom 20.0 London
1 Jack NaN NaN
2 John 25.0 Paris
3 Marry 19.0 New York
4 Rose 21.0 Beijing
上面的代码创建了一个DataFrame,其中包含了Name,Age和City三列数据。其中Age和City列分别有一个缺失值NaN。
填充缺失值为常量
现在,我们来演示如何将这些NaN的缺失值填充为常量。比如我们可以将缺失值填充为0,代码如下:
df = df.fillna(0)
print(df)
输出结果如下:
Name Age City
0 Tom 20.0 London
1 Jack 0.0 0
2 John 25.0 Paris
3 Marry 19.0 New York
4 Rose 21.0 Beijing
可以看到,缺失值NaN被成功的填充为了0。
如果我们想将Age列的缺失值填充为100,City列的缺失值填充为Unknown,那么代码如下:
df['Age'] = df['Age'].fillna(100)
df['City'] = df['City'].fillna('Unknown')
print(df)
输出结果如下:
Name Age City
0 Tom 20.0 London
1 Jack 100.0 Unknown
2 John 25.0 Paris
3 Marry 19.0 New York
4 Rose 21.0 Beijing
同样可以看到,缺失值被成功填充了。
结论
在Python Pandas中,填充缺失值非常简单,只需要调用fillna函数即可。如果缺失值比较多,我们也可以分别对不同的列进行填充。无论是填充为常量还是其它方式,都可以通过fillna函数实现。希望以上内容对大家有所帮助。
极客笔记