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

李悠荨
  • 23
四川

一个表格中,如果想输出的结果按照类型显示如下图
应该怎么设置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=["产品","任务","销售","完成率"])

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

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)

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

回复
阅读 872
2 个回答
老瓜
  • 481
广东
✓ 已被采纳
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)

image.png

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

宣传栏