我有dataframe列(df),我试图用空白替换999值。未调整列的头部看起来像:
Name: IntValue, dtype: int32
0 999
1 50
2 50
3 55
4 58
我希望将调整后的列调整为:
Name: IntValue, dtype: int32
0
1 50
2 50
3 55
4 58
我正在使用:
rawDatabase[newFieldTrunc].replace(999, "")
但它根本没有改变列数据。
答案 0 :(得分:1)
因为您要替换Series
的副本,而不是实际的Series
。
rawDatabase[newFieldTrunc].replace(999, "", inplace=True)
或者
rawDatabase[newFieldTrunc] = rawDatabase[newFieldTrunc].replace(999, "")
PS:建议使用Python原生None
或np.nan
作为空格的占位符,而不是空白文本""
。
答案 1 :(得分:0)
要更改DataFrame,您需要将inplace
参数设置为True
:
rawDatabase[newFieldTrunc].replace(999, "", inplace=True)
答案 2 :(得分:0)
作为先前答案的替代方案:
rawDatabase[newFieldTrunc] = rawDatabase[newFieldTrunc].replace(999, "")