如何使用 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 中不同类型的数据?的详细内容,更多请关注其它相关文章!