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

如何用Pandas统计零件在特定循环次数区间内的更换次数

需求描述

我有一组包含零件编号(Part #)和更换时循环次数(Cycle Count)的数据集,原始数据如下:

Part #Cycle Count
abc100
abc594
abc1230
abc2291
def329
def2001
ghi1671
jkl29
jkl190
mno700
mno1102
pqr2991

需要生成一个新表格,统计每个零件在以下循环次数区间内的更换次数:

  • Cycle Count Range (1-1000)
  • Cycle Count Range (1001-2000)
  • Cycle Count Range (2001-3000)

目标表格示例:

Part #Cycle Count Range (1-1000)Cycle Count Range (1001-2000)Cycle Count Range (2001-3000)
abc211
def101
ghi010
jkl200
mno110
pqr001

我不太熟练用SQL实现,想知道用Pandas怎么完成这个需求。


Pandas实现方案

通过分箱标记区间 + 透视表统计的方式即可快速实现,步骤如下:

1. 导入Pandas并创建原始数据框

先将数据转换为Pandas DataFrame:

import pandas as pd

data = [
    ["abc", 100], ["abc", 594], ["abc", 1230], ["abc", 2291],
    ["def", 329], ["def", 2001],
    ["ghi", 1671],
    ["jkl", 29], ["jkl", 190],
    ["mno", 700], ["mno", 1102],
    ["pqr", 2991]
]

df = pd.DataFrame(data, columns=["Part #", "Cycle Count"])

2. 为循环次数标记所属区间

用pd.cut()函数给每条数据打上对应区间标签,注意边界设置匹配需求:

# 定义区间范围和对应标签
bins = [0, 1000, 2000, 3000]
labels = [
    "Cycle Count Range (1-1000)",
    "Cycle Count Range (1001-2000)",
    "Cycle Count Range (2001-3000)"
]

# 添加区间列到原数据框
df["Cycle Range"] = pd.cut(df["Cycle Count"], bins=bins, labels=labels, include_lowest=True)

include_lowest=True用于确保100这类临界值能被正确归入第一个区间。

3. 透视表统计每个零件的区间更换次数

使用pivot_table()按零件分组,统计各区间的更换次数,空值自动填充为0:

result = df.pivot_table(
    index="Part #",
    columns="Cycle Range",
    values="Cycle Count",
    aggfunc="count",
    fill_value=0
).reset_index()

# 调整列顺序(可选,确保和目标表格完全一致)
result = result[["Part #"] + labels]

4. 查看最终结果

打印result即可得到和目标表格一致的输出:

print(result)

输出内容:

Part # Cycle Count Range (1-1000) Cycle Count Range (1001-2000) Cycle Count Range (2001-3000)
0    abc                          2                             1                             1
1    def                          1                             0                             1
2    ghi                          0                             1                             0
3    jkl                          2                             0                             0
4    mno                          1                             1                             0
5    pqr                          0                             0                             1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 10:45:38