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=["产品","任务","销售","完成率"])

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

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)

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

阅读 2.5k
2 个回答
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不太可能能通过表格转换为“万元”单位的值,只能自己手动格式化转换后再写入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏