PHP前端开发

如何使用 applymap 方法格式化 DataFrame 中不同类型的数据?

百变鹏仔 3天前 #Python
文章标签 如何使用

通过applymap方法格式化dataframe

在读取数据时,经常会出现不同类型的数据混杂在一起的情况,这也给数据的格式化带来了一定的困难。为了解决这个问题,pandas提供了applymap方法,它可以逐个元素对dataframe进行操作。

以给定的dataframe为例,其中包含字符串、整数和浮点数:

import pandas as pddata = [['a', 10000, 5000, 0.5], ['b', 20000, 30000, 1.5], ['c', 30000, 10000, 0.3333333]]dt = pd.dataframe(data, columns=['产品', '任务', '销售', '完成率'])

要将结果格式化为如下形式:

产品任务销售完成率
a-1.0万50.00%
b-3.0万150.00%
c-1.0万33.33%

可以使用applymap方法应用λ函数:

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)

通过lambda函数判断每个元素的类型,并应用相应的格式。最终结果如下所示:

产品任务销售完成率
a-1.0万50.00%
b-3.0万150.00%
c-1.0万33.33%