我有一个包含长数字列的数据框。我试图将数字列中的所有值转换为逗号分隔数千。
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
答案 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