在Python数据帧中为数字添加千位分隔符的简单方法
假设我有一个pandas数据帧,并且我想给所有数字(整数和浮点)添加1000个分隔符,那么什么是一种简单快捷的方法呢?当使用在Python数据帧中为数字添加千位分隔符的简单方法,python,pandas,number-formatting,separator,Python,Pandas,Number Formatting,Separator,假设我有一个pandas数据帧,并且我想给所有数字(整数和浮点)添加1000个分隔符,那么什么是一种简单快捷的方法呢?当使用,格式化一个数字时,您可以只使用'{:,}。格式: n = 10000 print '{:,}'.format(n) n = 1000.1 print '{:,}'.format(n) 在pandas中,您可以使用格式化程序参数来转换html 添加千分位分隔符实际上在stackoverflow上讨论了很多。您可以阅读或。到html中的formatters参数将采用字典 假
,
格式化一个数字时,您可以只使用'{:,}。格式
:
n = 10000
print '{:,}'.format(n)
n = 1000.1
print '{:,}'.format(n)
在pandas中,您可以使用格式化程序
参数来转换html
添加千分位分隔符实际上在stackoverflow上讨论了很多。您可以阅读或。到html中的formatters参数将采用字典
假设您只想显示(或呈现为html)带有千位分隔符的浮点/整数,您可以使用该分隔符,该分隔符是在0.17.1版中添加的:
将熊猫作为pd导入
df=pd.DataFrame({'int':[1200320],'flt':[5300.5712000000.23]})
format(“{:,}”)
若要将此输出呈现为html,请使用。上的render方法,如果需要,“.”作为千位分隔符和“,”作为十进制分隔符,这将起作用:
Data=pd.read\u Excel(路径)
Data[my_numbers]=Data[my_numbers].map(“{:,.2f}.”格式).str.replace(“,”,“~”).str.replace(“,”,”).str.replace(“~”,”)
如果您想要三个小数而不是两个小数,请更改“2f”-->“3f”
Data[my_numbers]=Data[my_numbers].map(“{:,.3f}.”格式).str.replace(“,”,“~”).str.replace(“.”,“,”).str.replace(“~”,”)
使用或与此:
它不适用于具有整数的数据帧。仅适用于浮动
num_format = lambda x: '{:,}'.format(x)
def build_formatters(df, format):
return {
column:format
for column, dtype in df.dtypes.items()
if dtype in [ np.dtype('int64'), np.dtype('float64') ]
}
formatters = build_formatters(data_frame, num_format)
data_frame.to_html(formatters=formatters)
df['col'] = df['col'].map('{:,}'.format)
df['col'] = df['col'].map(lambda x: f'{x:,}')
df['col'] = df['col'].apply('{:,}'.format)
df['col'] = df['col'].apply(lambda x: f'{x:,}')