You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中按服务器分组统计带宽使用率区间出现次数

Pandas实现带宽使用率区间统计

原始数据

初始带宽使用量DataFrame df

Server     Bandwidth  1-Jun  6-June 12-Jun  1-Jul
ServerA    10000      5000    6000    7500    8000
ServerB    100000     60000   80000   75000   80000
ServerC    20000      5000    6000    7500    8000
ServerD    30000      5000    6000    7500    8000
ServerF    10000      5000    6000    7500    8000
ServerX    5000       5000    6000    7500    8000

计算后的带宽使用率DataFrame out

Server     Bandwidth  1-Jun  6-June 12-Jun  1-Jul
ServerA    10000      0.50   0.60    0.75    0.80
ServerB    100000     0.60   0.80    0.75    0.80
ServerC    20000      0.25   0.30    0.38    0.40

实现步骤与代码

1. 定义区间规则

先指定使用率的划分区间和对应标签:

import pandas as pd

# 定义区间边界(左闭右开,最后一个区间包含所有大于1.0的值)
bins = [0.7, 0.8, 0.9, 1.0, float('inf')]
# 对应区间标签
labels = ["70%-80%", "80%-90%", "90%-100%", "100%+"]

2. 将宽表转为长表

把日期列拆成单独的行,方便后续按服务器和区间统计:

# 提取日期列(排除Server和Bandwidth)
date_cols = out.columns[2:]
# 转长表
melted_df = out.melt(
    id_vars=['Server', 'Bandwidth'],
    value_vars=date_cols,
    var_name='Date',
    value_name='Usage_Rate'
)

3. 划分使用率区间

为每条使用率数据匹配对应的区间:

# 添加区间列
melted_df['Usage_Interval'] = pd.cut(
    melted_df['Usage_Rate'],
    bins=bins,
    labels=labels,
    include_lowest=False  # 不包含左边界以下的值,即低于70%的不计入统计
)

4. 分组统计区间次数

按服务器分组,统计每个区间的出现次数,并转成目标宽表格式:

# 按Server和Usage_Interval分组统计,重置索引
count_df = melted_df.groupby(['Server', 'Usage_Interval']).size().reset_index(name='Count')

# 转宽表,填充缺失区间的计数为0
result_df = count_df.pivot(
    index='Server',
    columns='Usage_Interval',
    values='Count'
).fillna(0).astype(int)

# 合并Bandwidth列并调整列顺序
result_df = result_df.merge(out[['Server', 'Bandwidth']], on='Server', how='left').set_index('Server')
result_df = result_df[['Bandwidth'] + labels]

最终结果示例

运行后result_df会呈现如下格式:

Bandwidth  70%-80%  80%-90%  90%-100%  100%+
ServerA       10000        1        1         0      0
ServerB      100000        1        2         0      0
ServerC       20000        0        0         0      0

内容的提问来源于stack exchange,提问作者user1471980

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 03:34:59