相关疑难解决方法(0)

熊猫合并101

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

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

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

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

python merge join pandas

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

Pandas基于索引/列组合合并DataFrames

我有两个要合并的DataFrame.我已阅读有关合并多列的信息,并在合并时保留索引.我的问题需要迎合两者,我很难找到最好的方法来做到这一点.

第一个DataFrame看起来像这样

在此输入图像描述

而第二个看起来像这样

在此输入图像描述

我想基础上,合并这些Date ID.在第一个DataFrame Date中,索引ID是一列; 在第二数据帧都DateID是一个的一部分多指标.

基本上,因此我想要一个看起来像DataFrame 2的DataFrame,其中包含Events来自DataFrame 1 的附加列.

python dataframe pandas

5
推荐指数
1
解决办法
336
查看次数

如何在pandas中进行左外连接排除

我有两个数据帧,A和B,我希望得到A中但不是B中的数据帧,就像左下角的那个.

左上角的那个

Dataframe A有列['a','b' + others],B有列['a','b' + others].没有NaN值.我尝试了以下方法:

1.

dfm = dfA.merge(dfB, on=['a','b'])
dfe = dfA[(~dfA['a'].isin(dfm['a']) | (~dfA['b'].isin(dfm['b'])
Run Code Online (Sandbox Code Playgroud)

2.

dfm = dfA.merge(dfB, on=['a','b'])
dfe = dfA[(~dfA['a'].isin(dfm['a']) & (~dfA['b'].isin(dfm['b'])
Run Code Online (Sandbox Code Playgroud)

3.

dfe = dfA[(~dfA['a'].isin(dfB['a']) | (~dfA['b'].isin(dfB['b'])
Run Code Online (Sandbox Code Playgroud)

4.

dfe = dfA[(~dfA['a'].isin(dfB['a']) & (~dfA['b'].isin(dfB['b'])
Run Code Online (Sandbox Code Playgroud)

但是当我len(dfm)len(dfe)他们不总结到dfA(它由几个数字是关闭).我试过在虚拟案例和#1工作中这样做,所以也许我的数据集可能有一些我无法重现的特性.

这样做的正确方法是什么?

python pandas

5
推荐指数
2
解决办法
2264
查看次数

标签 统计

pandas ×3

python ×3

dataframe ×1

join ×1

merge ×1