pandas 百分比
时间: 2024-07-21 16:01:11 浏览: 126
Pandas实现DataFrame按行求百分数(比例数)
在Pandas中计算百分比通常涉及对数据进行汇总和转换。以下是使用Pandas来求取百分比的一般步骤:
1. **导入数据**[^1]:
```python
import pandas as pd
df = pd.DataFrame(data={'orders': [2130,5102,3256,1297,1918,786], 'repeat_orders': [73,158,89,30,49,18]})
```
2. **按行或列求总和**:
如果你想要计算每个元素相对于它所在行或列的总和作为百分比,可以先使用`sum()`函数。例如,按行求和:
```python
row_totals = df.sum(axis=1)
```
按列求和:
```python
col_totals = df.sum(axis=0)
```
3. **计算百分比**:
接着,将原始数据与总和相除得到百分比。这里我们假设`row_totals`代表行总计,`col_totals`代表列总计:
```python
df['orders_percent'] = df['orders'] / row_totals
df['repeat_orders_percent'] = df['repeat_orders'] / col_totals
```
4. **格式化结果**[^2]:
为了在结果中显示百分比符号(%),可以使用`applymap()`函数和`format()`函数,如下面示例所示:
```python
df[['orders_percent', 'repeat_orders_percent']] = df[['orders_percent', 'repeat_orders_percent']].applymap(lambda x: format(x, '.2%'))
```
这会将两个列的数值转换为百分比形式。
现在,`df` DataFrame中的`orders_percent`和`repeat_orders_percent`列就是按行和列计算的百分比了。
阅读全文