Python / Pandas:用逗号分隔数千个转换数字

时间:2017-10-10 23:38:30

标签: python pandas dataframe

我有一个包含长数字列的数据框。我试图将数字列中的所有值转换为逗号分隔数千。

df

col_1      col_2
Rooney     34590927
Ronaldo    5467382
John       25647398

如何迭代并得到以下结果?
预期结果:

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

2 个答案:

答案 0 :(得分:4)

您可以使用字符串格式

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

请记住,col_2现在将是字符串而不是整数。

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

答案 1 :(得分:3)

将格式化功能应用于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