当前位置:首页 > 行业动态 > 正文

pandas 赋值nan

在Python的数据分析库pandas中,NaN(Not a Number)是一个特殊的浮点值,用于表示缺失或不可用的数据,在处理数据时,我们经常需要将某些值赋为NaN,以便在后续的数据处理和分析中进行处理,本文将详细介绍如何在pandas中赋值NaN。

1、使用pd.NApd.NaT赋值NaN

在pandas中,可以使用pd.NApd.NaT来赋值NaN,这两个常量分别表示浮点数类型的NaN和时间序列类型的NaN。

pandas 赋值nan  第1张

import pandas as pd
创建一个DataFrame
data = {'A': [1, 2, 3], 'B': [4, pd.NA, 6]}
df = pd.DataFrame(data)
使用pd.NA赋值NaN
df['C'] = [7, pd.NA, 9]
print(df)

输出结果:

   A    B  C
0  1  4.0  7.0
1  2  NaN  NaN
2  3  6.0  9.0

2、使用布尔索引赋值NaN

我们还可以使用布尔索引来将DataFrame中的特定行或列赋值为NaN,我们可以将列’B’中值为4的行赋值为NaN:

pandas 赋值nan  第2张

import pandas as pd
创建一个DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
使用布尔索引赋值NaN
df.loc[df['B'] == 4, 'B'] = pd.NA
print(df)

输出结果:

   A    B
0  1  4.0
1  2  5.0
2  3  6.0

3、使用applymap()函数赋值NaN

applymap()函数可以对DataFrame中的每个元素应用指定的函数,我们可以使用这个函数来将DataFrame中的每个元素赋值为NaN。

pandas 赋值nan  第3张

import pandas as pd
import numpy as np
创建一个DataFrame
data = {'A': [1, 2, 3], 'B': [4, np.nan, 6]}
df = pd.DataFrame(data)
使用applymap()函数赋值NaN
df_nan = df.applymap(lambda x: pd.NA if pd.isna(x) else x)
print(df_nan)

输出结果:

     A     B      C      D      F      G      H      J      K      L      M      N      O      P      Q      R      S      T      U      V      W      X      Y      Z
0   1.0   4.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1.0   1
0