pandas输出的格式问题,怎么解决?

一个表格中,如果想输出的结果按照类型显示如下图
应该怎么设置format?

数据如下:

import pandas as pd

data=[["A",10000,5000,0.5],["B",20000,30000,1.5],["C",30000,10000,0.3333333]]

dt=pd.DataFrame(data,columns=["产品","任务","销售","完成率"])

pandas输出的格式问题,怎么解决?

除了分别对列设置格式外,有没有办法一次性设置,
按照字符串、整形、浮点型对数据进行格式处理?

dt=dt.apply(lambda x : format(x,".2%") if pd.api.types.is_float_dtype(x) else (str(round(x/10000,1)) + "万" if pd.api.types.is_integer(x) else x),axis=1)

这段能跑,但是完全没用,想请问能否用进行数判定,再输出格式?


回答:

dt = dt.applymap(lambda x: format(x, ".2%") if pd.api.types.is_float(x) else '{:.1f}万'.format(x/10000) if pd.api.types.is_integer(x) else x)

pandas输出的格式问题,怎么解决?


回答:

10000不太可能能通过表格转换为“万元”单位的值,只能自己手动格式化转换后再写入。

以上是 pandas输出的格式问题,怎么解决? 的全部内容, 来源链接: utcz.com/p/938558.html

回到顶部