我有一个数据框,需要根据以下条件进行筛选:
当我试图通过
作为新手,我不知道如何使用多进程(特别是语法和执行方式)。但是不幸的是要完成这个任务。因此无法发布任何代码。
所以有人能给一个实现这个任务的代码示例吗?
如果你有更好的想法(例如类对象或节点遍历),请提出建议。
CITY == 'Mumbai' & LANGUAGE == 'English' & GENRE == 'ACTION' & count_GENRE >= 1
CITY == 'Mumbai' & LANGUAGE == 'English' & GENRE == 'ROMANCE' & count_GENRE >= 1
CITY == 'Mumbai' & LANGUAGE == 'Hindi' & count_LANGUAGE >= 1 & GENRE == 'ACTION'
当我试图通过
这样做时
df1 = df.query(condition1)
df2 = df.query(condition2)
由于我的数据框架非常大,我遇到了内存错误。
因此,我计划按照主条件和子条件进行筛选,这样可以减少负载并提高性能。
通过解析上述条件,我设法得到:
main_filter = "CITY == 'Mumbai'"
sub_cond1 = "LANGUAGE == 'English'"
sub_cond1_cond1 = "GENRE == 'ACTION' & count_GENRE >= 1"
sub_cond1_cond2 = "GENRE == 'ROMANCE' & count_GENRE >= 1"
sub_cond2 = "LANGUAGE == 'Hindi' & count_LANGUGE >= 1"
sub_cond2_cond1 = "GENRE == 'COMEDY'"
把它想象成一棵树形结构(当然不是二叉树,实际上它根本不是一棵树)。
现在我想采用多进程方法(深层——子进程嵌套在子进程下)。
现在我想要类似于这样的东西
on level 1
df = df_main.query(main_filter)
on level 2
df1 = df.query(sub_cond1)
df2 = df.query(sub_cond2)
onlevel 3
df11 = df1.query(sub_cond1_cond1)
df12 = df1.query(sub_cond1_cond2)
df21 = df2.query(sub_cond2_cond1) ######like this
问题在于如何正确地将条件传递给每个级别(如果我要将所有条件存储在列表中(实际上甚至没有考虑过这个问题))。
NB:每个过滤器的结果应导出到单独的CSV文件中。
例如:
df11.to_csv('CITY == 'Mumbai' & LANGUAGE == 'English' & GENRE == 'ACTION' & count_GENRE >= 1')
作为新手,我不知道如何使用多进程(特别是语法和执行方式)。但是不幸的是要完成这个任务。因此无法发布任何代码。
所以有人能给一个实现这个任务的代码示例吗?
如果你有更好的想法(例如类对象或节点遍历),请提出建议。