python之merge()方法与join()方法

1、代码部分

import numpy as np
import pandas as pd

# 设置列对齐
pd.set_option('display.unicode.ambiguous_as_wide',True)
pd.set_option('display.unicode.east_asian_width',True)

# 读取Sheet1与Sheet3的全部数据,使用默认索引
df1 = pd.read_excel(r'超市营业额2.xlsx')
df2 = pd.read_excel(r'超市营业额2.xlsx',sheetname='Sheet3')

# 按同名的列合并,随机查看10行数据
rows = np.random.randint(0,len(df1),10)
print(pd.merge(df1,df2).iloc[rows,:],end='\n\n')

# 按工号合并,指定其他同名列的后缀
print(pd.merge(df1,df2,on='工号',suffixes=['_x','_y']).iloc[rows,:],end='\n\n')

# 两个表都设置工号列为索引
print(df1.set_index('工号').join(df2.set_index('工号'),lsuffix='x',rsuffix='y').iloc[rows,:])

2、输出结果

     工号  姓名        日期           时段  交易额      柜台  职级
52   1002  李四  2019-03-10   900-1400  1478.0  蔬菜水果  主管
175  1005  周七  2019-03-04  1400-2100  1199.0  蔬菜水果  员工
52   1002  李四  2019-03-10   900-1400  1478.0  蔬菜水果  主管
194  1005  周七  2019-03-16  1400-2100  1246.0    化妆品  员工
208  1005  周七  2019-03-29   900-1400  1737.0  蔬菜水果  员工
233  1006  钱八  2019-03-19  1400-2100  1483.0  蔬菜水果  员工
74   1002  李四  2019-03-25   900-1400  1349.0      食品  主管
160  1004  赵六  2019-03-25   900-1400   860.0    化妆品  员工
35   1001  张三  2019-03-29  1400-2100  1523.0    化妆品  店长
131  1004  赵六  2019-03-06  1400-2100  1245.0      食品  员工


     工号 姓名_x        日期           时段  交易额      柜台 姓名_y  职级
52   1002   李四  2019-03-10   900-1400  1478.0  蔬菜水果   李四  主管
175  1005   周七  2019-03-04  1400-2100  1199.0  蔬菜水果   周七  员工
52   1002   李四  2019-03-10   900-1400  1478.0  蔬菜水果   李四  主管
194  1005   周七  2019-03-16  1400-2100  1246.0    化妆品   周七  员工
208  1005   周七  2019-03-29   900-1400  1737.0  蔬菜水果   周七  员工
233  1006   钱八  2019-03-19  1400-2100  1483.0  蔬菜水果   钱八  员工
74   1002   李四  2019-03-25   900-1400  1349.0      食品   李四  主管
160  1004   赵六  2019-03-25   900-1400   860.0    化妆品   赵六  员工
35   1001   张三  2019-03-29  1400-2100  1523.0    化妆品   张三  店长
131  1004   赵六  2019-03-06  1400-2100  1245.0      食品   赵六  员工


     姓名x        日期           时段  交易额      柜台 姓名y  职级
工号                                                               
1002  李四  2019-03-10   900-1400  1478.0  蔬菜水果  李四  主管
1005  周七  2019-03-04  1400-2100  1199.0  蔬菜水果  周七  员工
1002  李四  2019-03-10   900-1400  1478.0  蔬菜水果  李四  主管
1005  周七  2019-03-16  1400-2100  1246.0    化妆品  周七  员工
1005  周七  2019-03-29   900-1400  1737.0  蔬菜水果  周七  员工
1006  钱八  2019-03-19  1400-2100  1483.0  蔬菜水果  钱八  员工
1002  李四  2019-03-25   900-1400  1349.0      食品  李四  主管
1004  赵六  2019-03-25   900-1400   860.0    化妆品  赵六  员工
1001  张三  2019-03-29  1400-2100  1523.0    化妆品  张三  店长
1004  赵六  2019-03-06  1400-2100  1245.0      食品  赵六  员工

3、项目结构
在这里插入图片描述

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼_翻身

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值