当前位置: 首页 > news >正文

做厂房出租有那些推广网站/关键词歌词图片

做厂房出租有那些推广网站,关键词歌词图片,手机开发者选项怎么打开,网站建站价格点击上方“Python读数”,选择“星标”公众号重磅干货,第一时间送达为了方便维护,一般公司的数据在数据库内都是分表存储的,比如用一个表存储所有用户的基本信息,一个表存储用户的消费情况。所以,在日常的数…

点击上方“Python读数”,选择“星标”公众号

重磅干货,第一时间送达

为了方便维护,一般公司的数据在数据库内都是分表存储的,比如用一个表存储所有用户的基本信息,一个表存储用户的消费情况。所以,在日常的数据处理中,经常需要将两张表拼接起来使用,这样的操作对应到SQL中是join,在Pandas中则是用merge来实现。这篇文章就讲一下merge的主要原理。

上面的引入部分说到merge是用来拼接两张表的,那么拼接时自然就需要将用户信息一一对应地进行拼接,所以进行拼接的两张表需要有一个共同的识别用户的键(key)。总结来说,整个merge的过程就是将信息一一对应匹配的过程,下面介绍merge的四种类型,分别为'inner''left''right''outer'

inner

merge'inner'的类型称为内连接,它在拼接的过程中会取两张表的键(key)的交集进行拼接。什么意思呢?下面以图解的方式来一步一步拆解。

首先我们有以下的数据,左侧和右侧的数据分别代表了用户的基础信息消费信息,连接两张表的键是userid

9bec103af1944f56dc486206a3447aa5.png

现在用'inner'的方式进行merge

In [6]: df_1.merge(df_2,how='inner',on='userid')Out[6]:  userid  age  payment0      a   23     20001      c   32     3500

过程图解:

①取两张表的键的交集,这里df_1df_2userid的交集是{a,c}

3e1ef2dedb95e13fa6bc866b38b33626.png

②对应匹配

0e47fd027dfbf38442730278ae343fb8.png

③结果

a05b4b3bb577b8e4ad09db17fd872013.png

过程汇总:

a5352655ad2369e1021a2a42f353656c.png

相信整个过程并不难理解,上面演示的是同一个键下,两个表对应只有一条数据的情况(一个用户对应一条消费记录),那么,如果一个用户对应了多条消费记录的话,那又是怎么拼接的呢?

假设现在的数据变成了下面这个样子,在df_2中,有两条和a对应的数据:

17bdc065897b8195077660ec86b1d017.png

同样用inner的方式进行merge

In [12]: df_1.merge(df_2,how='inner',on='userid')Out[12]:  userid  age  payment0      a   23     20001      a   23      5002      b   46     10003      c   32     3500

整个过程除了对应匹配阶段,其他和上面基本都是一致的。

过程图解:

①取两张表的键的交集,这里df_1df_2userid的交集是{a,b,c}

be32a10e218aed90c8bb43f46cf61e38.png

②对应匹配时,由于这里的a有两条对应的消费记录,故在拼接时,会将用户基础信息表中a对应的数据复制多一行来和右边进行匹配

0075415f8eba2dd18d6ed9c50d8c71e5.png

③结果

a8b8a6f98862b2be4fca1128bf4306e1.png

left 和right

'left''right'merge方式其实是类似的,分别被称为左连接右连接。这两种方法是可以互相转换的,所以在这里放在一起介绍。

  • 'left'

merge时,以左边表格的键为基准进行配对,如果左边表格中的键在右边不存在,则用缺失值NaN填充。

  • 'right'

merge时,以右边表格的键为基准进行配对,如果右边表格中的键在左边不存在,则用缺失值NaN填充。

什么意思呢?用一个例子来具体解释一下,这是演示的数据

1f4469c8c9fd36d536938fb20ce01497.png

现在用'left'的方式进行merge

In [21]: df_1.merge(df_2,how='left',on='userid')Out[21]:  userid  age  payment0      a   23   2000.01      b   46      NaN2      c   32   3500.03      d   19      NaN

过程图解:

①以左边表格的所有键为基准进行配对。图中,因为右表中的e不在左表中,故不会进行配对。

a072fb8f4cf986b0cd9288c63cb00df3.png

②若右表中的payment列合并到左表中,对于没有匹配值的用缺失值NaN填充

7f09865245b37105c94a35817edba083.png

过程汇总:

aacb927357f59a1bea61151e9fb9ef72.png

对于'right'类型的merge'left'其实是差不多的,只要把两个表格的位置调换一下,两种方式返回的结果就是一样的(),如下:

In [22]: df_2.merge(df_1,how='right',on='userid')Out[22]:  userid  payment  age0      a   2000.0   231      c   3500.0   322      b      NaN   463      d      NaN   19

至于'left''right'中(乃至于下面将介绍的'outer')连接的键是一对多的情况,原理和上方的'inner'是类似的,这里便不再赘述。

outer

'outer'外连接,在拼接的过程中它会取两张表的键(key)的并集进行拼接。看文字不够直观,还是上例子吧!

还是使用上方用过的演示数据

1f4469c8c9fd36d536938fb20ce01497.png

这次使用'outer'进行merge

In [24]: df_1.merge(df_2,how='outer',on='userid')Out[24]:  userid   age  payment0      a  23.0   2000.01      b  46.0      NaN2      c  32.0   3500.03      d  19.0      NaN4      e   NaN    600.0

图解如下:

①取两张表键的并集,这里是{a,b,c,d,e}

4988ca010c1e68662c48ba5be9e9c22f.png

②将两张表的数据列拼起来,对于没有匹配到的地方,使用缺失值NaN进行填充

f069f2c0050890e5c985086120fb104b.png

能读到这里的小伙伴想必也基本理解了merge的整个过程,总结来说,merge的不同类型区别就在于,拼接时选用的两张表格的键的集合不同。关于Pandas的merge就介绍到这里!

b9f731910bb87ace83ce9ee4a17dd31d.png

往期精彩回顾

191518bafd12a10cf2d3592ebdaf5f9a.png

Pandas数据分析——超好用的Groupby详解

Pandas数据处理三板斧,你会几板?

一文带你掌握常见的Pandas性能优化方法,让你的pandas飞起来!

a47466e43addf18a80383a5a2d0371c0.png

关注我

9b4ef4258f1acc1ce1f074e488a85467.png0bd63e3e33df54509022d981f187dbb2.png

公众号:Python读数

一个记录成长的公众号

http://www.jmfq.cn/news/4817053.html

相关文章:

  • 网站代管理/流程优化的七个步骤
  • 网站建设的常用词/石家庄关键词优化平台
  • 泰安网站制作公司电话/香蕉和忘忧草对焦虑的影响
  • 企业为什么要分析环境/360优化大师下载官网
  • 哪个网站做h5比较好/seo营销怎么做
  • 网站建设公司内部情况/专业做网站建设的公司
  • 服装设计网站排行榜前十名/精准营销系统
  • 个人做网站备案多少钱/网站页面优化方案
  • 用php做网站/开通网站需要多少钱
  • 网站做视频的怎么赚钱/网络宣传的好处
  • 怎么看一个网站是什么时候做的/广告推广文案
  • 有利于优化的网站建设/百度平台营销
  • 网站开发毕业答辩/宜昌网站seo
  • 营销型网站建设的指导原则/百度投诉中心电话24个小时
  • html5 网站自适应/零基础怎么做电商
  • 网站策划网/现在阳性最新情况
  • 做网站建设要学多久/网络seo是什么工作
  • 做销售网站的公司哪家最好的/互联网公司
  • 深圳网站制作公司资讯/国外引擎搜索
  • 深圳建设行业网站/天津百度关键词排名
  • 关于设计网站/站长工具app官方下载
  • 武功做网站/优化公司怎么优化网站的
  • wordpress适合下载站的主题/兰州网络seo
  • 潮汕学院网站开发/怎么建网站平台卖东西
  • 个人网站的设计与实现主要技术指标/黄页推广
  • 做网站价格报价费用多少钱/产品运营推广方案
  • 衡水网站建设地方/企业软文代写
  • 圣辉友联做网站公司/企业网站建设要多少钱
  • 小型企业网站建设毕业论文/上海有什么seo公司
  • 微网站开发系统/seo评测论坛