首页 > 解决方案 > 如何在 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 的格式字符串不受支持。格式

标签: pythonpython-3.x

解决方案


这是一种替代方法,可以在不使用 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

推荐阅读