相关疑难解决方法(0)

如何制作好的可重复的熊猫示例

花了相当多的时间观察SO上的标签,我得到的印象是pandas问题不太可能包含可重现的数据.这是值得的R社会一直要鼓励不错,并感谢像导游这样,新人能得到放在一起,这些例子一些帮助.能够阅读这些指南并返回可重现数据的人通常会更好地获得他们问题的答案.

我们如何为pandas问题创建良好的可重复示例?简单的数据帧可以放在一起,例如:

import pandas as pd
df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice'], 
                   'income': [40000, 50000, 42000]})
Run Code Online (Sandbox Code Playgroud)

但是许多示例数据集需要更复杂的结构,例如:

  • datetime 指数或数据
  • 多个分类变量(是否等价于R的expand.grid()函数,它会产生某些给定变量的所有可能组合?)
  • MultiIndex或Panel数据

对于dput()难以使用几行代码进行模拟的数据集,是否有与R相当的R ,它允许您生成可复制粘贴的代码以重新生成数据结构?

python pandas

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

比较两个数据帧并获得差异

我有两个数据帧.例子:

df1:
Date       Fruit  Num  Color 
2013-11-24 Banana 22.1 Yellow
2013-11-24 Orange  8.6 Orange
2013-11-24 Apple   7.6 Green
2013-11-24 Celery 10.2 Green

df2:
Date       Fruit  Num  Color 
2013-11-24 Banana 22.1 Yellow
2013-11-24 Orange  8.6 Orange
2013-11-24 Apple   7.6 Green
2013-11-24 Celery 10.2 Green
2013-11-25 Apple  22.1 Red
2013-11-25 Orange  8.6 Orange
Run Code Online (Sandbox Code Playgroud)

每个数据帧都以Date作为索引.两个数据帧都具有相同的结构.

我想要做的是比较这两个数据帧,并找出df2中哪些行不在df1中.我想比较日期(索引)和第一列(Banana,APple等),看看它们是否存在于df2和df1中.

我尝试过以下方法:

对于第一种方法,我得到了这个错误:"异常:只能比较标记相同的DataFrame对象".我已经尝试删除日期作为索引,但得到相同的错误.

第三种方法中,我得到断言返回False但无法弄清楚如何实际看到不同的行.

任何指针都会受到欢迎

python dataframe pandas

63
推荐指数
7
解决办法
12万
查看次数

熊猫中两个数据框之间的差异

我有两个数据框,它们都具有相同的基本架构。(4 个日期字段、几个字符串字段和 4-5 个浮点字段)。打电话给他们df1df2

我想要做的基本上是获得两者的“差异” - 在那里我返回两个数据帧之间未共享的所有行(不在集合交集中)。请注意,两个数据帧的长度不必相同。

我尝试使用,pandas.merge(how='outer')但我不确定要作为“键”传入的列,因为确实没有,而且我尝试的各种组合都不起作用。这是可能的df1或者df2具有两个(或更多个),其是相同的行。

在 Pandas/Python 中这样做的好方法是什么?

python diff merge compare pandas

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

Pandas:查找一个 DataFrame 中不存在于另一个 DataFrame 中的行

我有两个 Pandas Dataframe df1df2其中df2是 的一部分df1,我想创建一个 Dataframe ,其中包含不在 中的df3所有行。df1df2

这是一个例子:

print(df1)

>>
+---------+
|       ID|
+---------+
|      AAA|
|      DDD|
|      BBB|
|      CCC|
|      EEE|
|      FFF|
+---------+

print(df2)

>>
+---------+
|       ID|
+---------+
|      AAA|
|      EEE|
|      FFF|
+---------+

print(df3)

>>
+---------+
|       ID|
+---------+
|      DDD|
|      BBB|
|      CCC|
+---------+
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 我的 DataFrame 可能有多个列,但匹配必须ID仅在列上完成。

python dataframe pandas

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

如何根据两个 pandas DataFrame 的匹配条件添加新列

我有两个数据框 d1 和 d2 如下:
d1

A   B   C    D
X   6   7   23
Y   3   4   35
B   5   8   45
D   11  7   15
L   10  1   5
Run Code Online (Sandbox Code Playgroud)

d2

A   C 
Y   4 
L   1 
D   7 
Run Code Online (Sandbox Code Playgroud)

并希望 d1 E 中的新列如下:

A   B   C   D   E
X   6   7   23  0
Y   3   4   35  1
B   5   8   45  0
D  11   7   15  1
L  10   1   5   1
Run Code Online (Sandbox Code Playgroud)

根据 d2 的 A 列和 C 列中的数据与 …

python dataframe pandas

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

标签 统计

pandas ×5

python ×5

dataframe ×3

compare ×1

diff ×1

merge ×1