python - 如何使用熊猫获得金额的基数?
问题描述
我有一个如下所示的熊猫数据框
data = pd.DataFrame({'amount':['150k','210k','41M','61M','81K','101m','121k']})
我想获取数据框中金额的基数
例如:150k 应该是 150000,210k 应该是 210000 等等
我尝试了以下但它不起作用并且不够准确
data['amount'] = data['amount'].replace(['k',,'K','m','M'],['000','000','00000','00000'])
我希望我的输出如下所示。我想拥有稳定高效的方法。如果我替换,我可能会在零个数上犯错
解决方案
没有正则表达式:
>>> data["amount"].str[:-1].astype(int) \
* data["amount"].str[-1].str.upper().map({"K": 10**3, "M": 10**6)
0 150000
1 210000
2 41000000
3 61000000
4 81000
5 101000000
6 121000
Name: amount, dtype: int64
推荐阅读
- c# - 为什么使用 Selenium C# 清除表单中的字段时,当我点击提交时,我的表单会重新填充数据?
- android - 使用共享首选项更改后记住 TextView 的大小
- python-3.x - Python在读取数据文件时将选项卡识别为字符串
- javascript - Redux useSelect 未按预期更新
- node.js - Mac 10.13 VSC 中的 Node.js 标头弃用错误消息
- javascript - 如何为我的控制台 Nodejs Web 应用程序创建 UI?
- php - Wordpress WP 管理员问题
- android - ClassNotFoundException 仅在使用 Android Studio 4.1.2 和 Android Application Bundle 从 Google Play 下载时
- mysql - 将单独的 Where 子句应用于单独的列 (SQL)
- python-3.x - 如何在 Codalab 中安装外部库