在Pandas数据框架中创建NaN值的方法

  • Post category:Python

在Pandas中,可以使用numpynan值(Not a Number)来表示缺失值。在创建数据框架中,我们可以在数据中直接给定nan值或使用pandas提供的函数来生成nan值。

下面我们提供两种方法:

方法1:手动创建NaN值

我们可以手动创建一个包含nan值的数据框架,以下是具体的步骤:

步骤1:导入必要的库

import pandas as pd
import numpy as np

步骤2:创建数据

我们在数据框架中创建一个包含nan值的数据,以下是一个例子:

data = {'name': ['Tom', 'Jack', 'Steve', 'Ricky'],
        'age': [28, 34, np.nan, 29],
        'country': ['UK', 'US', np.nan, 'US']}
df = pd.DataFrame(data)

该数据框架中每一列都有一个nan值。

步骤3:查看数据

print(df)

输出结果如下:

    name   age country
0    Tom  28.0      UK
1   Jack  34.0      US
2  Steve   NaN     NaN
3  Ricky  29.0      US

可以看到,在数据中我们手动创建了nan值。

方法2:使用Pandas提供的函数生成NaN值

我们可以使用pandas提供的函数来生成nan值,以下是具体的步骤:

步骤1:导入必要的库

import pandas as pd

步骤2:创建数据

我们在数据框架中创建一个包含nan值的数据,以下是一个例子:

data = {'name': ['Tom', 'Jack', 'Steve', 'Ricky'],
        'age': [28, 34, pd.np.nan, 29],
        'country': ['UK', 'US', pd.NA, 'US']}
df = pd.DataFrame(data)

这里我们使用pd.np.nanpd.NA两个函数来创建nan值。需要注意的是,pd.np.nannp.nan是等价的。但是,pd.NApandas 1.0.0中新添加的,表示“缺失(missing)”值,必须在1.0.0及以上的版本中使用。

步骤3:查看数据

print(df)

输出结果如下:

    name   age country
0    Tom  28.0      UK
1   Jack  34.0      US
2  Steve   NaN    <NA>
3  Ricky  29.0      US

可以看到,在数据中我们使用pandas提供的函数生成了nan值。

总之,在Pandas数据框架中创建NaN值可以通过手动创建或使用Pandas提供的函数来实现。手动创建时需要引入numpy库,使用函数生成时需要引入pandas库,两种方法都可以实现创建nan值的功能。