python - 如何在 Python 中用逗号或点分割 DataFrame 中的数字?
问题描述
我需要对 Python 中的 100000 到 100.000 等数字进行一些转换。我怎样才能做到这一点 ?
我尝试使用 Format(number,'.d')。但我有 DataFrame 或 List。当我执行代码时,它说传递给 numpy.ndarray 的格式字符串不受支持。格式
users = data.iloc[:,[3]].values.astype(str)
for i in range(len(users)):
users[i] = (format (users[i], ',d'))
users[i] = (format (users[i], ',d'))
TypeError:传递给 numpy.ndarray 的格式字符串不受支持。格式
解决方案
这是一种替代方法,可以在不使用 format 函数但依赖 locale 模块的情况下实现您想要做的事情:
import pandas
import locale
locale.setlocale(locale.LC_ALL, 'de_DE.utf-8')
users = pandas.DataFrame(data=[100, 1000, 10000, 100000], columns=["colA"])
users["colA"] = [locale.format("%d", v, 1) for v in users.iloc[:,0]]
print(users)
结果:
colA
0 100
1 1.000
2 10.000
3 100.000
推荐阅读
- kubernetes - 无法将新节点加入现有集群:[发现] 请求集群信息失败,将重试:[未授权]
- mongodb - Mongorestore 花时间恢复收藏
- javascript - RxJs combineLatest 似乎模拟了一个额外的更新
- apache-camel - 没有反馈的骆驼文件消费者错误
- python - Jupyter Notebook 在执行期间更改变量
- c - Strtok 为字符串的最后一个标记返回 NULL
- angular - 如何在 Angular 6 中增加 http 请求的超时时间?
- docker - gitlab docker login 失败:证书由未知机构签名
- excel - VBA如何检查行号是否是偶数
- javascript - Vue | 如何将网络端口号更改为 80?