数据预处理:数据集的合并

1-merge

# merge
import pandas as pd

df1 = pd.DataFrame({'key': ['a', 'b', 'c'], 'data1': range(3)})
print(df1)
输出结果:
  key  data1
0   a      0
1   b      1
2   c      2


df2 = pd.DataFrame({'key': ['a', 'b', 'd'], 'data2': range(3)})
print(df2)
输出结果:
  key  data2
0   a      0
1   b      1
2   d      2

# 两个表做内连接
r = pd.merge(df1, df2)
print(r)
输出结果:
  key  data1  data2
0   a      0      0
1   b      1      1

# 左连接,以左表为基准
r = pd.merge(df1, df2, how="left")  # 以左边的为准
print(r)
输出结果:
  key  data1  data2
0   a      0    0.0
1   b      1    1.0
2   c      2    NaN

#右连接,以右表为基准
r = pd.merge(df1,df2,how="right")
print(r)
输出结果:
key	data1	data2
0	a	0.0	0
1	b	1.0	1
2	d	NaN	2

2-concat

# merge
import pandas as pd

df1 = pd.DataFrame({'key': ['a', 'b', 'c'], 'data1': range(3)})
print(df1)
输出结果:
  key  data1
0   a      0
1   b      1
2   c      2

df2 = pd.DataFrame({'key': ['a', 'b', 'd'], 'data2': range(3)})
print(df2)
输出结果:
  key  data2
0   a      0
1   b      1
2   d      2


# concat
r1 = pd.concat([df1, df2], axis=0, sort=False)  # axis是纵向连接
print(r1)
输出结果:
  key  data1  data2
0   a    0.0    NaN
1   b    1.0    NaN
2   c    2.0    NaN
0   a    NaN    0.0
1   b    NaN    1.0
2   d    NaN    2.0

r2 = pd.concat([df1, df2], axis=1, sort=False)  # axis是横向连接
print(r2)
输出结果:
  key  data1 key  data2
0   a      0   a      0
1   b      1   b      1
2   c      2   d      2

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值