简体   繁体   中英

Python/Pandas: Converting numbers by comma separated for thousands

I have a dataframe with a column containing long numbers. I am trying to convert all the values in the numbers column to comma separated for thousands.

df

col_1      col_2
Rooney     34590927
Ronaldo    5467382
John       25647398

You can use string formatting,

df['col_2'] = pd.to_numeric(df['col_2'].fillna(0), errors='coerce')    
df['col_2'] = df['col_2'].map('{:,.2f}'.format)

Do remember that the col_2 now will be string not integer.

    col_1   col_2
0   Rooney  34,590,927.00
1   Ronaldo 5,467,382.00
2   John    25,647,398.00

apply format function to col_2

df = df.assign(col_2=df.col_2.astype(int).apply('{:,}'.format))

     col_1       col_2
0   Rooney  34,590,927
1  Ronaldo   5,467,382
2     John  25,647,398

d = len(list(df.columns))

<\/h1>

and we want to convert only 20 columns

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM