相关疑难解决方法(0)

熊猫合并101

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

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

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

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

python merge join pandas

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

Pandas的concat函数中的'levels','keys'和names参数是什么?

问题

  • 我该怎么用pd.concat
  • 是什么意思levels
  • 是什么意思keys
  • 是否有一些示例来帮助解释如何使用所有参数?

熊猫的concat功能是合并公用事业的瑞士军刀.它有用的各种情况很多.现有文档遗漏了一些可选参数的一些细节.其中包括levelskeys论点.我开始弄清楚这些论点的作用.

我将提出一个问题,它将成为许多方面的门户pd.concat.

考虑数据帧d1,d2以及d3:

import pandas as pd

d1 = pd.DataFrame(dict(A=.1, B=.2, C=.3), [2, 3])
d2 = pd.DataFrame(dict(B=.4, C=.5, D=.6), [1, 2])
d3 = pd.DataFrame(dict(A=.7, B=.8, D=.9), [1, 3])
Run Code Online (Sandbox Code Playgroud)

如果我将这些连接在一起

pd.concat([d1, d2, d3], keys=['d1', 'd2', 'd3'])
Run Code Online (Sandbox Code Playgroud)

我得到了一个pandas.MultiIndexfor my columns对象的预期结果:

        A    B    C    D
d1 2  0.1  0.2  0.3  NaN
   3  0.1 …
Run Code Online (Sandbox Code Playgroud)

python pandas

87
推荐指数
1
解决办法
7961
查看次数

pandas中merge()和concat()之间的差异

Pandas非常擅长处理数据分析中的各种用例.探索文档以确定执行特定任务的最佳方式可能有点令人生畏.

我目前正在努力了解pd.DataFrame.merge()和之间的本质区别pd.concat().到目前为止,这是我能说清楚的:

.merge()只能使用列(加上行索引),它在语义上适用于数据库样式的操作..concat()可以与任一轴一起使用,仅使用索引,并提供添加分层索引的选项.

顺便提一下,这允许以下冗余:两者都可以使用行索引组合两个数据帧.

至于pd.DataFrame.join()它似乎只是提供了一小部分用例的简写.merge().

有人可以评论我此时的理解是否完整和准确吗?

谢谢.

python merge join concat pandas

57
推荐指数
5
解决办法
4万
查看次数

标签 统计

pandas ×3

python ×3

join ×2

merge ×2

concat ×1