Skip to content Skip to sidebar Skip to footer

Replace Comma With Dot Pandas

Given the following array, I want to replace commas with dots: array(['0,140711', '0,140711', '0,0999', '0,0999', '0,001', '0,001', '0,140711', '0,140711', '0,140711', '0,14

Solution 1:

You need to assign the result of your operate back as the operation isn't inplace, besides you can use apply or stack and unstack with vectorised str.replace to do this quicker:

In[5]:
df.apply(lambda x: x.str.replace(',','.'))

Out[5]:
          1-81-7H00.1407110.140711H10.09990.0999H20.0010.001H30.1407110.140711H40.1407110.140711H50.1407110.140711H600H700H80.1407110.140711H90.1407110.140711H100.1407110.1125688H110.1407110.1125688H120.1407110.1125688H130.1407110.1125688H140.1407110.140711H150.1407110.140711H160.1407110.140711H170.1407110.140711H180.1407110.140711H190.1407110.140711H200.1407110.140711H210.1407110.140711H220.1407110.140711H230.1407110.140711In[4]:    
df.stack().str.replace(',','.').unstack()

Out[4]:
          1-81-7H00.1407110.140711H10.09990.0999H20.0010.001H30.1407110.140711H40.1407110.140711H50.1407110.140711H600H700H80.1407110.140711H90.1407110.140711H100.1407110.1125688H110.1407110.1125688H120.1407110.1125688H130.1407110.1125688H140.1407110.140711H150.1407110.140711H160.1407110.140711H170.1407110.140711H180.1407110.140711H190.1407110.140711H200.1407110.140711H210.1407110.140711H220.1407110.140711H230.1407110.140711

the key thing here is to assign back the result:

df = df.stack().str.replace(',','.').unstack()

Solution 2:

If you are reading in with read_csv, you can specify how it interprets decimals with the decimal parameter.

e.g.

your_df = pd.read_csv('/your_path/your_file.csv',sep=';',decimal=',')

From the man pages:

thousands : str, optional Thousands separator.

decimal : str, default ‘.’ Character to recognize as decimal point (e.g. use ‘,’ for European data).

Solution 3:

If you need to replace commas with dots in particular columns, try

data["column_name"]=data["column_name"].str.replace(',','.')

to avoid 'str' object has no attribute 'str' error.

Post a Comment for "Replace Comma With Dot Pandas"