我接触了一些需要在面向 Pandas 的处理中进行翻译的 PySpark 代码。任何帮助都会非常受欢迎,因为我正在努力寻找 Pandas 等价物的方法:PySpark代码:window = Window.partitionBy(df["timestamp"]).orderBy(df["timestamp"].desc())df = df.select('*', F.rank().over(window).alias('rank')) \ .filter(F.col('rank') <= 1) \ .orderBy(df["timestamp"].desc()) \ .limit(int(window_int))谢谢
1 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
您可以使用sqldffrompandasql来实现简单的sql类似窗口的体验。该库实际上使用sqlite支持窗口函数的语法,每个变量/数据帧都可以被视为一个表。该函数sqldf还返回一个DataFrame
from pandasql import sqldf
df = sqldf("""
SELECT * FROM (
SELECT
* ,
RANK() OVER (PARTITION BY timestamp ORDER BY timestamp ) as rank
FROM
df
ORDER BY timestamp desc
) dfsub
WHERE
rank <= 1
LIMIT %d
""" % (int(window_int)))
添加回答
举报
0/150
提交
取消