首页 > 解决方案 > Pandas 格式化大数

问题描述

我有以下数据框:

   product    price 
0     a       100000     
1     b       2000000     
2     c       30000000000

我想将价格列转换为以下格式

   product    price 
0     a       100K     
1     b       2M     
2     c       30B

标签: pythonpandasstringdataframe

解决方案


how-to-convert-a-values-like-1225002-to-1-2m-in-a-column-using-pandasapply扩展答案,您可以使用lambdaf-string获得所需的输出

df['price']=df['price'].apply(lambda x: f'{x//1000000000}B' if x/1000000000>=1 else f'{x//1000000}M' if x/1000000>=1 else f'{int(x//1000)}K' if x/10000>=1 else f'{x}')

输出

    product price
0      a    100K
1      b    2M
2      c    30B

推荐阅读