在 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