马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 真名 于 2024-6-6 10:32 编辑
我用左表链接右表,希望能反左右表的所有信息显示出来,但最后只匹配的键列和值列,求大佬教一下我import pandas as pd
import numpy as np
dfl = pd.read_excel(r'D:\上期供应商.xlsx', sheet_name='2.3导出底表')
dfn = pd.read_excel(r'D:\本期供应商.XLSX')
dflgvot = pd.pivot_table(dfl, values=['金额'], index=['供应商', '名称 1'], aggfunc='sum')
dfngvot = pd.pivot_table(dfn, values=['金额'], index=['供应商', '名称 1'], aggfunc='sum')
dflwvot = pd.pivot_table(dfl, values=['金额'], index=['物料', '描述'], aggfunc='sum')
dfnwvot = pd.pivot_table(dfn, values=['金额'], index=['物料', '物料描述'], aggfunc='sum')
print(dflgvot)
print(dfngvot)
print(dflwvot)
print(dfnwvot)
dfgmerg = pd.merge(left=dfngvot,
right=dflgvot,
left_on='供应商',
right_on='供应商',
how='left')
dfwmerg = pd.merge(left=dfnwvot,
right=dflwvot,
left_on='物料',
right_on='物料',
how='left')
print(dfgmerg)
print(dfwmerg)
dfgmerg.to_excel(r'd:\本期上期g.xlsx',sheet_name='供应商')
dfwmerg.to_excel(r'd:\本期上期w.xlsx',sheet_name='物料')
原表1为
[354 rows x 1 columns]
金额
物料 描述
B060102013 小箱 -425.25
B060102015 小箱 -351.26
B060102021A 小箱 -1300.82
B060102022A 小箱 -27.84
原表2为
[4715 rows x 1 columns]
表二为
金额
物料 物料描述
B060102013 小箱 -556.59
B060102015 小箱 -522.43
B060102021A 小箱 -1872.00
B060102022A 小箱 -126.91
最后输出结果:
[354 rows x 2 columns]
金额_x 金额_y
物料
B060102013 -556.59 -425.25
B060102015 -522.43 -351.26
B060102021A -1872.00 -1300.82
链接后只剩编码和金额了,描述和物料描述都没了 |