移除Float列的小数位并保留千位分隔符的实现方法
保留千位分隔符的数值处理思路
用字符串存数值,计算时临时转换
不用把列转成int,直接保留带千位分隔符的字符串格式。需要计算的时候,先把分隔符(比如逗号)删掉转成int,算完再重新加上分隔符。示例代码:# 从字符串转成可计算的int num_str = "1,234" num_int = int(num_str.replace(",", "")) # 计算后转回带千位分隔符的字符串 result = "{:,}".format(num_int)在表格工具里设置显示样式,不修改数据类型
如果是用Excel或者Pandas这类工具,没必要改列的int类型,直接设置单元格的显示格式就行。比如Pandas里可以这么做:import pandas as pd df = pd.DataFrame({"数值列": [1234, 56789, 123456]}) # 给数值列设置显示样式,自动加千位分隔符 styled_table = df.style.format({"数值列": "{:,}"})自定义带格式化输出的整数类
自己写个继承int的类,重写输出方法,让它打印的时候自动带千位分隔符,这样存储的是int类型,输出又能保留分隔符:class FormattedInt(int): def __str__(self): return "{:,}".format(self) def __repr__(self): return "{:,}".format(self) # 使用示例 my_num = FormattedInt(123456) print(my_num) # 输出 123,456
内容的提问来源于stack exchange,提问作者paddyusa
相关产品推荐
相关产品推荐

