相关疑难解决方法(0)

熊猫合并101

  • 如何用pandas 执行(LEFT| RIGHT| FULL)(INNER| OUTER)连接?
  • 合并后如何为缺失的行添加NaN?
  • 合并后如何摆脱NaN?
  • 我可以合并索引吗?
  • 如何合并多个DataFrame?
  • mergejoinconcatupdate?谁?什么?为什么?!

... 和更多.我已经看到了这些反复出现的问题,询问了pandas合并功能的各个方面.今天关于合并及其各种用例的大部分信息在几十个措辞严厉,不可搜索的帖子中都是分散的.这里的目的是为后代整理一些更重要的观点.

这个QnA应该是关于常见熊猫习语的一系列有用的用户指南的下一部分(参见关于转动的这篇文章,以及关于连接的这篇文章,我将在稍后介绍).

请注意,这篇文章并不是文档的替代品,所以请阅读它!一些例子来自那里.

python merge join pandas

271
推荐指数
6
解决办法
4万
查看次数

Pandas左外连接多个列上的多个数据帧

我是使用DataFrame的新手,我想知道如何在一系列表的多个列上执行左外连接的SQL等价物

例:

df1: 
Year    Week    Colour    Val1 
2014       A       Red      50
2014       B       Red      60
2014       B     Black      70
2014       C       Red      10
2014       D     Green      20

df2:
Year    Week    Colour    Val2
2014       A     Black      30
2014       B     Black     100
2014       C     Green      50
2014       C       Red      20
2014       D       Red      40

df3:
Year    Week    Colour    Val3
2013       B       Red      60
2013       C     Black      80
2013       B     Black      10
2013       D     Green      20
2013       D       Red      50
Run Code Online (Sandbox Code Playgroud)

基本上我想做类似这样的SQL代码(注意df3没有加入Year):

SELECT df1.*, …
Run Code Online (Sandbox Code Playgroud)

python sql merge pandas

55
推荐指数
2
解决办法
10万
查看次数

怎么办"(df1&not df2)"数据框合并在熊猫?

我有2个pandas数据帧df1和df2与公共列/键(x,y).

我想在键(x,y)上合并做一个"(df1¬ df2)"类型的合并,这意味着我希望我的代码只在df1而不是在df2中返回包含(x,y)行的数据帧.

SAS具有同等功能

data final;
merge df1(in=a) df2(in=b);
by x y;
if a & not b;
run;
Run Code Online (Sandbox Code Playgroud)

谁优雅地在熊猫中复制相同的功能?如果我们可以在merge()中指定how"= left-right",那将会很棒.

python merge join dataframe pandas

8
推荐指数
1
解决办法
7364
查看次数

标签 统计

merge ×3

pandas ×3

python ×3

join ×2

dataframe ×1

sql ×1