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

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

通过applymap方法格式化dataframe

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

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

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

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

产品 任务 销售 完成率
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%

以上就是如何使用 applymap 方法格式化 DataFrame 中不同类型的数据?的详细内容,更多请关注其它相关文章!