I have the Pandas Dataframe in this format
0 or LIST requests
1 us-west-2
2 1.125e-05
3 0
4 3.032e-05
5 0
6 7.28e-06
7 or LIST requests
8 3.1e-07
9 0
10 0
11 1.067e-05
12 0.00011983
13 0.1075269
14 or LIST requests
15 us-west-2
16 0
17 2.88e-06
18 ap-northeast-2
19 5.52e-06
20 6.15e-06
21 3.84e-06
22 or LIST requests
I want to replace all non-numeric cells with 0 in pandas. I am trying some thing like this but nothing works,
training_data['usagequantity'].replace({'^([A-Za-z]|[0-9]|_)+$': 0}, regex=True)
any hint how can I do this:
You can use the to_numeric
method, but it's not changing the value in place. You need to set the column to the new values:
training_data['usagequantity'] = (
pd.to_numeric(training_data['usagequantity'],
errors='coerce')
.fillna(0)
)
to_numeric sets the non-numeric values to NaNs
, and then the chained fillna method replaces the NaNs
with zeros.
Following code can work:
df.col =pd.to_numeric(df.col, errors ='coerce').fillna(0).astype('int')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With