颂风侯 发表于 2024-7-23 08:45:12

求助一个pandas提取数据合并数据的问题

1        使用python的pandas,提取excel"生成数据.xlsx"中的列“管线号”,“焊缝类型”,“焊缝材质”,“焊缝数量”,其中注意对“焊缝数量”列只提取数量不为0的列。生成一个df1备用。
2        使用python的pandas,提取excel"提取数据.xlsx"中的列“管线号”,“焊缝类型2”,“焊缝材质2”,“焊缝数量2”,其中注意对“焊缝数量2”列只提取数量不为0的列。生成一个df2备用。
3        对提取的df2中的“焊缝类型2”,“焊缝材质2”,“焊缝数量2”对应改名为“焊缝类型”,“焊缝材质”,“焊缝数量”
4        将df1,df2合并为一个df_merge,并对“管线号”,“焊缝类型”,“焊缝材质”相同列的“焊缝数量”进行求和
5        对df_merge根据“管线号”,“焊缝类型”,“焊缝材质”进行排序。
6        输出到"提取数据.xlsx"

wp231957 发表于 2024-7-23 08:57:06

这不就是多一个排序吗

颂风侯 发表于 2024-7-23 09:00:31

import pandas as pd

# 读取生成数据.xlsx文件
df1 = pd.read_excel("原始数据.xlsx", usecols=["管线号", "焊缝类型", "工艺卡编号", "焊缝数量"])

# 只保留焊缝数量不为0的行
df1 = df1 != 0]

# 读取提取数据.xlsx文件
df2 = pd.read_excel("原始数据.xlsx", usecols=["管线号", "焊缝类型2", "工艺卡编号2", "焊缝数量2"])

# 只保留焊缝数量2不为0的行
df2 = df2 != 0]

# 对df2中的列名进行重命名
df2.rename(columns={"焊缝类型2": "焊缝类型", "工艺卡编号2": "工艺卡编号", "焊缝数量2": "焊缝数量"}, inplace=True)

# 合并df1和df2
df_merge = pd.concat()

# 对相同的“管线号”,“焊缝类型”,“焊缝材质”进行分组,并对“焊缝数量”求和
df_merge = df_merge.groupby(["管线号", "焊缝类型", "工艺卡编号"], as_index=False).agg({"焊缝数量": "sum"})

# 根据“管线号”,“焊缝类型”,“焊缝材质”进行排序
df_merge.sort_values(by=["管线号", "焊缝类型", "工艺卡编号"], inplace=True)

# 输出到提取数据.xlsx文件
df_merge.to_excel("提取数据.xlsx", index=False)


实测ai这个可行,通过了

颂风侯 发表于 2024-7-23 09:00:56

是的,就看看这里的算法比较下
页: [1]
查看完整版本: 求助一个pandas提取数据合并数据的问题