Pandas 如何从Series中移除NaN值

Pandas 如何从Series中移除NaN值

在pandas系列构造函数中,使用dropna()方法可以从系列对象中移除缺失值。它不会更新原始的系列对象,而是返回另一个具有更新值的系列对象。

dropna()方法的参数包括axis、inplace和how。

示例1

# importing packages
import pandas as pd
import numpy as np

# Creating Series objects
sr = pd.Series([42, np.nan, 55, 42, np.nan, 73, np.nan, 55, 76, 87], index=list("ABCDEFGHIJ"))

print('Series object:',sr)

# Remove missing elements
result = sr.dropna()

# display output
print(result)

解释

初始时,我们创建了一个带有标记索引值的pandas Series对象,其中包含一些NaN值。在创建pandas系列对象后,我们应用了dropna()方法来删除缺失值。

输出

Series object:
A 42.0
B  NaN
C 55.0
D 42.0
E  NaN
F 73.0
G  NaN
H 55.0
I 76.0
J 87.0
dtype: float64

A 42.0
C 55.0
D 42.0
F 73.0
H 55.0
I 76.0
J 87.0
dtype: float64

在上面的输出块中,我们可以看到初始和结果系列对象。第二个系列对象是删除了缺失值的输出对象。

示例2

# importing packages
import pandas as pd
import numpy as np

dates = pd.date_range('2021-06-01', periods=10, freq='D')

#creating pandas Series with date index
sr = pd.Series([np.nan, 61, 72, 11, np.nan, 24, 56, 30, np.nan, 55], index=dates)

print('Series object:',sr)

# Remove missing elements
result = sr.dropna()

# display output
print(result)

解释

在下面的示例中,我们创建了一个带有日期范围索引值的pandas Series对象,并且该系列对象“sr”中存在一些NaN值。在创建pandas系列对象之后,我们使用dropna()方法来删除这些NaN值。

输出

Series object:
2021-06-01  NaN
2021-06-02 61.0
2021-06-03 72.0
2021-06-04 11.0
2021-06-05  NaN
2021-06-06 24.0
2021-06-07 56.0
2021-06-08 30.0
2021-06-09  NaN
2021-06-10 55.0
Freq: D, dtype: float64

2021-06-02 61.0
2021-06-03 72.0
2021-06-04 11.0
2021-06-06 24.0
2021-06-07 56.0
2021-06-08 30.0
2021-06-10 55.0
dtype: float64

在这里,我们得到了一个新的系列对象,其中包含已删除的NaN值。在上面的输出块中,我们可以看到初始的和最终的系列对象。第一个对象是初始系列,第二个对象是dropna()方法的输出。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 精选笔记