系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2
Part 1:示例
DataFrame
,有4列["quality_1", "measure_value", "up_tol", "down_tol"]
measure_value
列的值不在公差上下限范围内,采用的算法如下图up_measure
中每个值=列up_tol
-列measure_value
measure_down
中每个值=列measure_value
-列down_tol
mul
中每个值=列up_measure
* 列measure_down
mul
列小于0,则该位置质量特性不合格
判断超差
Part 2:代码
import pandas as pd
dict_1 = {"quality_1": ["pos_1", "pos_2", "pos_3", "pos_4", "pos_5"], "measure_value": [6, 4, 6, 3.5, 2.5], "up_tol": [5, 5, 3, 3, 2], "down_tol": [-5, -5, -3, -3, 2]}
df = pd.DataFrame(dict_1, columns=["quality_1", "measure_value", "up_tol", "down_tol"])
df["up_measure"] = df["up_tol"] - df["measure_value"]df["measure_down"] = df["measure_value"] - df["down_tol"]
df["mul"] = df["up_measure"].mul(df["measure_down"])
print(df)
df_2 = df[df["mul"] < 0]print("\n", df_2)
unqualified_num = df_2["mul"].count()
print("\n不合格数目", unqualified_num)
代码截图
执行结果
Part 3:部分代码解读
df["mul"] = df["up_measure"].mul(df["measure_down"])
,两列每行分别相乘相减,生成一个新的列df_2 = df[df["mul"] < 0]
,对df
进行筛选,筛选条件为:
mul
列数值小于0unqualified_num = df_2["mul"].count()
获取mul
列数目,也可以使用unqualified_num = df_2.shape
获取行数及列数shape输出
传送门
本文为原创作品,欢迎分享
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有