python - postgresql 的 pandas 等效函数
问题描述
我是 pandas 的新手,你能指出我如何在 python pandas 中实现以下 sql 吗?非常感激...
场景:对于按符号分组的每个名称,如果 MoveStatus 为“引擎”,则使用该符号的所有速度的平均值填写任何缺失或零速度
with cte as (
select Name, sign,speed
from tableA
where MoveStatus='engine' and (speed = 0.0 or speed is null)
group by Name, sign,speed
order by 3
),
cte1 as (
select sign,avg(speed) as speed from tableA
where MoveStatus='engine' group by sign
),
cte2 as (
select c.sign as signcte2 ,c1.speed as speedcte2
from cte c left join cte1 c1 using (sign)
)
update
tableA as r
set
speed=case when (r.speed = 0.0 or r.speed is null) then c.speedcte2 else r.speed end
from
cte2 as c
where r.sign = c.signcte2 and r.MoveStatus='engine'
解决方案
推荐阅读
- c# - 保存除 binaryformatter.serialize 之外的自定义 C# 类(包含各种大小的列表/数组)的推荐过程?
- android - 编辑计划的待处理意图
- java - android studio:尝试在空对象引用上调用虚拟方法
- android-8.0-oreo - 奥利奥的缺口有问题吗?W/HwNotchSizeUtil:calculateSize 错误
- python - TestDome 数据科学:没有得到正确的答案
- c# - 告诉 Entity Framework 在生成实体时使用名称“Children”而不是“InverseParent”
- sql - H2 限制和偏移量,订购有保证吗?
- sql - 具有级联删除的两个表
- javascript - 当附加的 DOM 节点被移除时,MutationObservers 是否应该被移除/断开,比如事件的 removeEventListener?
- python - 如何将 SQLAlchemy 声明式模型拆分为模块?