【发布时间】:2019-04-25 10:42:16
【问题描述】:
在 R (data.table/dplyr) 或 Python 中是否有任何包可以以某种一致且直接的方式执行以下 SQL 代码?
你能分享一些这样做的例子吗?
我需要的示例:
我的输入数据框(CSV,sep - ";",标题 - True):
articule;group;is_new;ammount
1;fruits;1;100
2;fruits;1;200
3;fruits;1;300
4;fruits;0;400
5;frozen;0;500
6;frozen;0;600
7;frozen;0;700
8;frozen;1;800
我的预期输出(CSV,sep - ";",标题 - True):
articule;group;is_new;ammount;sum_by_group;sum_by_group_is_new;result
1;fruits;1;100;1000;600;0.60
2;fruits;1;200;1000;600;0.60
3;fruits;1;300;1000;600;0.60
4;fruits;0;400;1000;400;0.40
5;frozen;0;500;2600;1800;0.69
6;frozen;0;600;2600;1800;0.69
7;frozen;0;700;2600;1800;0.69
8;frozen;1;800;2600;800;0.31
我的 SQL 代码:
select a.*, sum_by_group_is_new / sum_by_group result from (
select a.*,
sum(ammount) over (partition by group) sum_by_group,
sum(ammount) over(partition by group, is_new) sum_by_group_is_new
from input_data_frame a
) a;
最好的问候
【问题讨论】:
-
熊猫
transform可能会有所帮助。您可以在您的问题中添加一些示例输入和输出数据吗? -
我添加了一个示例。请你看看这个好吗?
-
请将示例添加为文本(不是图像),以便我们将其复制到 python(或 sql fiddle)中并获取数据框/sql 表。另外,请同时发布输入和预期输出。
-
我已经添加了输入和预期的数据框,请看这个