Pandas 如何将数据框中某些浮点列格式化为百分比
在本文中,我们将向您介绍如何在 pandas 数据框中将某些浮点列格式化为百分比。
假设我们有以下数据框:
该数据框显示了五个国家的人口、人口增长率和城市人口占总人口的比例数据。
country | population | pop_growth | urban_pop_ratio | |
---|---|---|---|---|
0 | China | 1439.32 | 0.39 | 0.61 |
1 | India | 1380.00 | 1.06 | 0.35 |
2 | USA | 331.16 | 0.71 | 0.83 |
3 | Indonesia | 273.52 | 1.05 | 0.56 |
4 | Pakistan | 220.91 | 2.00 | 0.39 |
我们希望将三列数据,即人口增长率、城市人口占总人口的比例以及人口转换为百分比形式。
阅读更多:Pandas 教程
方法1:使用 map 和 lambda 函数
我们可以使用 map
和 lambda
函数,先将浮点数乘以 100 得到百分比,然后再添加百分比符号 %
。
这会将浮点列转换为百分比列。现在,数据框变成了这个样子:
country | population | pop_growth | urban_pop_ratio | |
---|---|---|---|---|
0 | China | 1,439.32% | 39.00% | 61.00% |
1 | India | 1,380.00% | 106.00% | 35.00% |
2 | USA | 331.16% | 71.00% | 83.00% |
3 | Indonesia | 273.52% | 105.00% | 56.00% |
4 | Pakistan | 220.91% | 200.00% | 39.00% |
注意,map
方式返回一个列表值,因此需要在列表值加入批量值处理。此处用到 {}
,其中“:表示格式化输出符号,
{}用于表示输出的值所在的位置,而后面的
.几f/%表示向前保留几位小数以及添加百分比符号
%`。
方法2:使用 applymap 函数
另一种方法是使用 applymap
函数,将每个元素作为一个 DataFrame 数组进行处理。
这同样可以将浮点列转换为百分比列。现在,数据框变成了这个样子:
country | population | pop_growth | urban_pop_ratio | |
---|---|---|---|---|
0 | China | 1,439.32% | 39.00% | 61.00% |
1 | India | 1,380.00% | 106.00% | 35.00% |
2 | USA | 331.16% | 71.00% | 83.00% |
3 | Indonesia | 273.52% | 105.00% | 56.00% |
4 | Pakistan | 220.91% | 200.00% | 39.00% |
可以看到,结果与方法 1 是相同的。
方法3:在读取时指定格式
还有一种方法是在读取文件时指定格式,这需要使用到 read_csv
函数的 converters
参数。
这将直接将浮点列转换为百分比列。此处的 convert_percent
函数将浮点数转换为百分比字符串。
总结
在 pandas 数据框中,我们可以使用 map
、lambda
函数或者 applymap
函数将浮点列转换为百分比列;也可以在读取文件时使用 converters
参数指定格式。这些方法都可以简便地处理百分比类型数据,让我们的数据更易于理解和应用。