」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 Pandas DataFrame 中用 NaN 替換空白值(空格)?

如何在 Pandas DataFrame 中用 NaN 替換空白值(空格)?

發佈於2024-11-08
瀏覽:379

How do I replace blank values (whitespace) with NaN in a Pandas DataFrame?

在 Pandas 中用 NaN 取代空白值(空白)

資料清理是資料分析中至關重要的一步。一項常見任務是將空白值(空白)替換為 NaN。使用 Pandas 可以有效地完成此操作。

要實現此目的,請利用 df.replace() 函數。此函數允許對 DataFrame 值進行基於正規表示式的搜尋和取代操作。實作方法如下:

import numpy as np
import pandas as pd

df = pd.DataFrame([
    [-0.532681, 'foo', 0],
    [1.490752, 'bar', 1],
    [-1.387326, 'foo', 2],
    [0.814772, 'baz', ' '],
    [-0.222552, '   ', 4],
    [-1.176781,  'qux', '  '],
], columns='A B C'.split(), index=pd.date_range('2000-01-01','2000-01-06'))

# Replace fields that contain only whitespace (or are empty) with NaN
print(df.replace(r'^\s*$', np.nan, regex=True))

# Output:
#                    A    B   C
# 2000-01-01 -0.532681  foo   0
# 2000-01-02  1.490752  bar   1
# 2000-01-03 -1.387326  foo   2
# 2000-01-04  0.814772  baz NaN
# 2000-01-05 -0.222552  NaN   4
# 2000-01-06 -1.176781  qux NaN

請注意,此程式碼替換僅包含空格或為空的欄位(即符合正規表示式r'^\s*$'**) 。如果您的有效資料包含空格,請相應地調整正規表示式(例如,從 r'^\s ' 的末尾刪除 **$)。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3