python-3.x - 转置几列并重塑它们
问题描述
我希望通过保持某些列固定来转置我的数据框中的某些列及其值。
WO.No LineSubType ProductName Desc Problem
WO-00201182 P-A-T
WO-00201182 Parts 18112135 FLOW Liquid
WO-00201182 Parts 18112200 ArmF9 Liquid
结果表
WO.No LineSubType ProductName+Desc1 ProductName+Desc2 Problem
WO-00201182 P-A-T/Parts 18112135 + FLOW 18112200 + ArmF9 Liquid
解决方案
- 使用了自加入的方法
- 如果需要,显然可以将子类型列合并为一个
df = pd.read_csv(io.StringIO("""WO.No LineSubType LineNumber ProductName Desc Problem
WO-00201182 P-A-T WL-01014402
WO-00201182 Parts WL-01014744 18112135 FLOW Liquid"""), sep="\s+")
df = (
df.loc[df["LineSubType"].eq("P-A-T")]
.drop(columns=["ProductName", "Desc", "Problem"])
.merge(
df.loc[df["LineSubType"].eq("Parts")],
on="WO.No",
suffixes=(" .P.A.T.", " Parts"),
)
)
df
WO.No | LineSubType .PAT | 线号 .PAT | LineSubType 零件 | LineNumber 零件 | 产品名称 | 描述 | 问题 | |
---|---|---|---|---|---|---|---|---|
0 | WO-00201182 | 拍 | WL-01014402 | 部分 | WL-01014744 | 1.81121e+07 | 流动 | 液体 |
推荐阅读
- python - 理解编码为一个热向量的 DNA 序列的一维卷积
- html - 如何在 Chrome 中进行断词:打破所有工作?
- node.js - 处理 postresql 和 nodejs 查询时出错
- node.js - npm start 停止工作,但 sudo npm start 仍然有效
- python - python lambda和常规函数之间一定有区别吗?
- r - 事后自定义对比 - glmmTMB 与 poly()
- java - Java通配符泛型在方法中的返回类型
- c# - 哪个函数/模块首先在数据库中生成 .edmx 文件?
- excel - 如何将数据框更新/写入位于 S3 存储桶中的 excel 文件中
- blockchain - Ethermint 和 Burrow 的区别