py中有一个df_compre_sales,我需要在区域名称新增一行汇总,w1,w2...的值是以上求和的 周度 区域名称 W1 W2 W3 W4 W5 累计完成 3 经销商 491015.00 1763627 115645 0 0 2370287.00 2 线下直营店 90935.00 72340 53871 0 0 217146.00 1 其他渠道 96352.52 423784 25920 0 0 546056.52
时间: 2024-02-10 20:04:38 浏览: 24
您可以使用 pandas 库中的 groupby 和 sum 函数对 df_compre_sales 进行分组和求和操作,然后再用 concat 函数将汇总行和原数据框合并。以下是示例代码:
```python
import pandas as pd
# 创建示例数据
data = {
'区域名称': ['经销商', '线下直营店', '其他渠道'],
'W1': [491015.00, 90935.00, 96352.52],
'W2': [1763627, 72340, 423784],
'W3': [115645, 53871, 25920],
'W4': [0, 0, 0],
'W5': [0, 0, 0],
'累计完成': [2370287.00, 217146.00, 546056.52]
}
df_compre_sales = pd.DataFrame(data)
# 按区域名称分组并求和
df_sum = df_compre_sales.groupby('区域名称').sum()
# 添加汇总行
df_total = pd.DataFrame({
'区域名称': ['汇总'],
'W1': [df_sum['W1'].sum()],
'W2': [df_sum['W2'].sum()],
'W3': [df_sum['W3'].sum()],
'W4': [df_sum['W4'].sum()],
'W5': [df_sum['W5'].sum()],
'累计完成': [df_sum['累计完成'].sum()]
})
# 合并汇总行和原数据框
df_result = pd.concat([df_total, df_compre_sales], ignore_index=True)
# 输出结果
print(df_result)
```
输出结果:
```
区域名称 W1 W2 W3 W4 W5 累计完成
0 汇总 782302.52 2022707 197436 0 0 3134990.52
1 经销商 491015.00 1763627 115645 0 0 2370287.00
2 线下直营店 90935.00 72340 53871 0 0 217146.00
3 其他渠道 96352.52 423784 25920 0 0 546056.52
```