如何從 Pandas Series 中移除 NaN 值?


在 pandas series 建構函式中,`dropna()` 方法用於移除 series 物件中的缺失值。它不會更新原始 series 物件,而是返回另一個包含已更新值的 series 物件。

`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 series 物件後,我們應用了 `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

在上面的輸出塊中,我們可以看到初始和結果 series 物件。第二個 series 物件是移除缺失值後的輸出物件。

示例 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,其中包含一些 NaN 值。“sr” series 物件包含一些 NaN 值。建立 pandas series 物件後,我們應用了 `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 值的 series 物件。在上面的輸出塊中,我們可以看到初始和結果 series 物件。第一個物件是初始 series,第二個物件是 `dropna()` 方法的輸出。

更新於: 2022年3月9日

5K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.