pandas merge、concat合并数据集及选择带空值的行

本文主要介绍使用merge和concat对DataFrame进行连接合并,以及如何从数据中选出含有一个或多个空值的行。

首先创建两个dataframe:

df1 = pd.DataFrame([['a', 1], ['b', 2],['c',3],['d',4]],columns=['letter', 'number'])
print(df1)
# letter  number
# 0      a       1
# 1      b       2
# 2      c       3
# 3      d       4
df2 = pd.DataFrame([['c', 9], ['d', 8]],columns=['letter', 'number2'])
print(df2)
# letter  number2
# 0      c        9
# 1      d        8

concat轴向连接,"axis=0"表示横轴,即按行拼接合并:

cdf2=pd.concat([df1, df2],axis=0)
print(cdf2)
# letter  number  number2
# 0      a     1.0      NaN
# 1      b     2.0      NaN
# 2      c     3.0      NaN
# 3      d     4.0      NaN
# 0      c     NaN      9.0
# 1      d     NaN      8.0

concat按列拼接合并:

cdf=pd.concat([df1, df2],axis=1)
print(cdf)
#letter  number letter  number2
# 0      a       1      c      9.0
# 1      b       2      d      8.0
# 2      c       3    NaN      NaN
# 3      d       4    NaN      NaN

merge通过键合并,"on"指定用于连接的列(键):

mdf=pd.merge(df1,df2,on=['letter'],how='left')
print(mdf)
# letter  number  number2
# 0      a       1      NaN
# 1      b       2      NaN
# 2      c       3      9.0
# 3      d       4      8.0

从dataframe中选出带有空值的行:

print(mdf[mdf.isnull().values])
# letter  number  number2
# 0      a       1      NaN
# 1      b       2      NaN

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值