如何使用 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 统一修改数据表输出格式,使不同数据类型具有特定显示?的详细内容,更多请关注其它相关文章!