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

标签 python pandas dataframe

我有一个 Pandas DataFrame

   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

最佳答案

通过添加“$”符号,将数字除以 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

很高兴看到其他人是否有更Pythonic的方式。

关于python - 更改 Pandas Dataframe 中的列值以将数字显示为百万,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66180105/

相关文章:

python - 如何在@given中参数化假设策略

python - 为什么我的搜索功能不起作用?

python - 如何在 Python 中获取字符位置列表?

python - (可能分组)行值到列

python - 尝试交叉两个数据帧,一个带有值,另一个带有 boolean 值

python - 如何在Windows中获取物理驱动器

python - Pandas CSV 仅输出某一行中的数据(to_csv)

python - 错误和/或空字符串导致 Pandas DataFrame.append 结果不一致

python - 从excel中提取多个表

python - Pandas Dataframe - 对于每一行,返回具有重叠日期的其他行的计数