Issue
I want to replace the -inf values in a pandas.series feature (column of my dataframe) to np.nan, but I could not make it.
I have tried:
df[feature] = df[feature].replace(-np.infty, np.nan)
df[feature] = df[feature].replace(-np.inf, np.nan)
df[feature] = df[feature].replace('-inf', np.nan)
df[feature] = df[feature].replace(float('-inf'), np.nan)
But it does not work. Any ideas how to replace these values?
Edit:
df[feature] = df[feature].replace(-np.inf, np.nan)
works
BUT:
df = df.replace(-np.inf, np.nan)
does not work.
Solution
The problem may be that you are not assigning back to the original series.
Note that pd.Series.replace
is not an in-place operation by default. The below code is a minimal example.
df = pd.DataFrame({'feature': [1, 2, -np.inf, 3, 4]})
df['feature'] = df['feature'].replace(-np.inf, np.nan)
print(df)
# feature
# 0 1.0
# 1 2.0
# 2 NaN
# 3 3.0
# 4 4.0
Answered By - jpp
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.