Home > Software engineering >  How to replace string values from column with NA and turn column into float?
How to replace string values from column with NA and turn column into float?

Time:12-13

I have a column in my dataframe which looks like this:

col
12
77
15
"UNKNOWN"
12

dtype: object

I want to replace "UNKNOWN" with NA and turn object into float type. But when I do this:

df["col"].replace({"UNKNOWN": np.nan}, inplace=True)

This error appears: TypeError: Cannot compare types 'ndarray(dtype=float64)' and 'str'.

How to solve this?

CodePudding user response:

Instead of replacing it might be better if you use pd.to_numeric with errors='coerce' that will automatically turn string like values into np.nan and also convert your column to numeric type:

df = pd.DataFrame({'col':[12,77,15,'"UNKNOWN"',12]})
df['col'] = pd.to_numeric(df['col'], errors='coerce')

print(df)

    col
0  12.0
1  77.0
2  15.0
3   NaN
4  12.0
  • Related