python之pandas中NaN与None的比较与处理
import pandas as pd
import numpy as np
# 创建包含None和NaN的Series
s = pd.Series([1, None, np.nan, 3, np.nan])
print("原始Series:")
print(s)
# 使用isna()或isnull()检测NaN值
print("\n使用isna()检测NaN值:")
print(s.isna())
# 使用isna()或isnull()检测None值(不可能,因为None不是NaN)
# 使用apply(lambda x: x is None)检测None值
print("\n检测None值:")
print(s.apply(lambda x: x is None))
# 使用fillna()填充NaN值
print("\n填充NaN值:")
print(s.fillna(0))
# 使用fillna()填充None值(不可能,因为None不是NaN)
# 使用map()或apply()替换None为其他值
print("\n替换None值:")
print(s.map(lambda x: 0 if x is None else x))
# 使用dropna()删除包含NaN的行
# 使用fillna()先填充再删除
# 使用replace()将None替换为其他值再删除
这段代码展示了如何在Pandas中处理NaN
(Not a Number)和None
。NaN
通常用于表示缺失值,而None
是Python中表示空值的默认值。Pandas提供了多种方法来检测、填充、替换和处理这些值。
评论已关闭