更改Pandas Dataframe中的列值,以将数字显示为百万

mfpqipee  于 2023-01-11  发布在  其他
关注(0)|答案(2)|浏览(179)

我有一个Pandas数据框

Symbol  Name  ...  % Change      Volume
9     XXX  YYY   ...     -3.62  58792000.0
11    XXX  YYY   ...      0.18  58587000.0

我想更改“音量”中的值以获得此结果

Symbol  Name  ...  % Change      Volume
9     XXX  YYY   ...     -3.62  58.792M
11    XXX  YYY   ...      0.18  58.587M
czq61nw1

czq61nw11#

我们可以一步一步地得到你想要的结果,方法是加上一个“$”符号,用1000000除这个数,然后加上MM后缀:

df['Volume'] = '$' + (df['Volume'].astype(float)/1000000).astype(str) + 'MM'

print(df)

  Symbol Name  % Change     Volume
0    XXX  YYY    -3.620  $58.792MM
1    XXX  YYY     0.180  $58.587MM

请注意,生成的“体积”dtype将为object

df.dtypes

Symbol       object
Name         object
% Change    float64
Volume       object
dtype: object

很高兴看到其他人有更像Python的方法。

vc9ivgsu

vc9ivgsu2#

像这样简单的怎么样-

(df.Volume/1000000).round(3).astype(str)+'M'

只需将该列除以一百万,四舍五入到3位有效数字,转换为str,然后在末尾添加一个“M”。

相关问题