python - 比较 2 个数据框并找到匹配的行

标签 python python-3.x pandas

我有一个主数据框:

Time          Frq     Seq
12:46:17      4200.0  30700.0
12:49:29      4160.0  30690.0
12:46:18      3060.0  30700.0
12:46:18      3060.0  30700.0
12:46:19      3060.0  30700.0
12:46:20      3060.0  30700.0
12:46:20      4240.0  30700.0
12:46:19      4220.0  30700.0
12:46:18      4200.0  30700.0
12:46:18      4200.0  30700.0
12:46:38      3060.0  30700.0
12:43:04      4620.0  30701.0
12:46:38      4600.0  30701.0
12:46:05      4600.0  30701.0
12:46:37      3060.0  30700.0
12:48:35      3020.0  30690.0

子数据框为:

Frq     Seq
3060.0  30700.0
4600.0  30701.0

我想收集主数据帧中第一次出现的子数据帧行。

我希望我的结果数据框为:

Time          Frq     Seq
12:46:18      3060.0  30700.0
12:46:38      4600.0  30701.0

最佳答案

首先删除 DataFrame.drop_duplicatesmaster 中重复的内容然后使用 DataFrame.merge - 如果省略参数 on ,它将通过两个 DataFrame 之间的列名称的交集进行合并:

df = master.drop_duplicates(['Frq','Seq']).merge(child)
print (df)
       Time     Frq      Seq
0  12:46:18  3060.0  30700.0
1  12:46:38  4600.0  30701.0

关于python - 比较 2 个数据框并找到匹配的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58127963/

相关文章:

python - 如何在 Python elasticsearch 中转义连字符

python - 将今天的日期与数据框中的日期进行比较

Python pandas 数据帧输出格式

python - Django - 将参数传递给自定义 .save 方法

python - 为什么 ruby​​ 1.9 比 python 2.7 和 3.2 快?

python - webapp2:自动重新加载代码更改

python - Keras 3D 卷积 : Error when checking model input: expected covolution3d_input_1 to have 5 dimensions, 但得到数组形状 (1, 90, 100, 100)

python - urllib.request.urlretrieve 不通过 HTTPS 下载文件

python - __metaclass__ 属性和元类 kwarg 有什么区别

python - 如何从 Pandas 数据框中的列中删除字符串值