【发布时间】:2021-09-17 14:52:33
【问题描述】:
我有两个数据框。一个数据框 (dfA) 如下所示:
Name gender start_coordinate end_coordinate ID
Peter M 30 150 1
Hugo M 4500 6000 2
Jennie F 300 700 3
另一个数据框(dfB)看起来像
Name position string
Peter 89 aa
Jennie 568 bb
Jennie 90 cc
我想过滤来自 dfA 的数据,使来自 dfB 的位置落在 dfA 的区间内(起始坐标和结束坐标),并且名称也应该相同。例如,dfB 的第 1 行的位置值落在 dfA 的第 1 行指定的区间内,相应的名称值也相同,因此,我想要这一行。相比之下,dfB 的第 3 行也在 dfA 的第 1 行的区间内,但名称值不同,因此我不想要这条记录。
因此,预期结果变为:
##new_dfA
Name gender start_coordinate end_coordinate ID
Peter M 30 150 1
Jennie F 300 700 3
##new_dfB
Name position string
Peter 89 aa
Jennie 568 bb
实际上,dfB 的大小为 (443068765,10),dfA 的大小为 (100000,3),因此,我不想使用 numpy 广播,因为我遇到了内存错误。有没有办法在熊猫框架内处理这个问题。我们将不胜感激。
【问题讨论】:
标签: python-3.x pandas