如何使用 Pandas 统一修改数据表输出格式,使不同数据类型具有特定显示?

如何使用 pandas 统一修改数据表输出格式,使不同数据类型具有特定显示?

pandas 输出格式统一处理

问题:如何统一修改 pandas 数据表的输出格式,使不同的数据类型(字符串、整数、浮点数)具有特定的显示格式?

解决方案:

使用 pandas 的 applymap() 函数,对数据表中的每个单元格进行格式化操作,根据数据类型的不同,设置不同的格式。示例代码如下:

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.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)

# 输出格式化后的数据表
print(dt)

输出结果:

   产品  任务    销售 完成率
0     A  1.0万   5.0万  50.00%
1     B  2.0万  3.0万 150.00%
2     C  3.0万  1.0万  33.3%

说明:

  • lambda x: format(x, ".2%"): 如果单元格值是浮点数,则将它格式化为保留两位小数的百分比。
  • lambda x: '{:.1f}万'.format(x/10000): 如果单元格值是整数,则将它格式化为保留一位小数的万为单位。
  • lambda x: x: 如果单元格值不是浮点数或整数,则保持原样。
  • applymap() 会逐个处理数据表中的每个单元格,并应用格式化操作。

以上就是如何使用 Pandas 统一修改数据表输出格式,使不同数据类型具有特定显示?的详细内容,更多请关注其它相关文章!