- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
所以我有 2 个数据框,我想合并在一起。
我正在合并 3 列,2 列很容易连接。
joined_df = pd.merge(df1, df2, how='left', on=['name', 'city'])
我希望它使用第三列,但这将是一个比较,如下所示:
joined_df = pd.merge(df1, df2, how='left',
on=['name', 'city', 'df1.year' >= 'df2.year_min'])
不确定这里的正确语法是什么。
如果是 SQL,对我来说会很容易。
SELECT * FROM df1
JOIN df2 on (df1.name = df2.name and df1.year = df2.year and df1.year > df2.year_min)
有什么帮助吗?
最佳答案
Pandas merge
只支持等值连接。您需要添加第二个步骤来过滤结果,如下所示:
joined_df = df1.merge(df2, how='left', on=['name', 'city'])
joined_df = joined_df[joined_df.year > joined_df.year_min]
关于python - Pandas 等效于 SQL 非 equi JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50573457/
我遇到了这个使用特殊形式的 equi join 的特定脚本。 SELECT * FROM per_assignments a, per_assigment_types b WHERE a.assign
我有一个事件数据集,按 let 分组像这样: set.seed(3) events % group_by(grp = cut(age, breaks = c(-Inf,0, 7, 14, 21),
wm_concat 的 mysql equi 是什么? 最佳答案 GROUP_CONCAT() 是 Oracle 中 WM_CONCAT() 的 MySQL 等价物。 关于wm_concat 的 my
我有一个数据集 customerId、transactionDate、productId、purchaseQty 加载到 data.table 中。对于每一行,我想计算前 45 天的购买数量和平均值
我只是想知道是否有人可以帮助我理解和在 Excel 中动态实现等深度分箱。 我设法使用Excel数据分析直方图功能实现等宽分箱。但考虑到等深度要求容器内具有相同数量的值,我对如何使其动态工作感到有点困
目前 hive 确实支持 non equi join。 但是随着交叉积变得非常大,我想知道有哪些选项可以处理大事实(2570 亿行,37 tb)和相对较小(8.7 gb)的维度表连接。 在 equi
来自 http://blog.codility.com/2011/03/solutions-for-task-equi.html 任务是解决均衡问题。序列的平衡索引是这样的索引,即较低索引处的元素之和
所以我有 2 个数据框,我想合并在一起。 我正在合并 3 列,2 列很容易连接。 joined_df = pd.merge(df1, df2, how='left', on=['name', 'cit
如果我有 : def all=[11,12,12,13,13,13,14,15,16,10] 我想将此列表拆分为 3 个几乎相同大小的子列表。 def result=[[11,12,12],[13,1
我在使用 .SD 时发现不一致在非对等连接中。 对此有解释吗? 根据连接的“方向”或“类型”,使用 j = .SD引发错误。 library(data.table) d1 = s)] a b
我正在使用 data.table 进行左非等连接: OUTPUT = MONTH)] OUTPUT包含正确的左连接,除了 MONTH列(存在于 DT1 中)丢失。 这是 data.table 中的错误
索引嵌套循环连接: 对于外层关系R中的每个元组tr,使用索引在S中查找满足与元组tr的连接条件的元组 一些资料提到“Indexed Nested-Loop Join”只适用于equi-join或nat
我是一名优秀的程序员,十分优秀!