了解 julia 数据帧索引

Understanding with julia dataframes indexing

我正在学习 julia,我刚发现这一行:

if(any(mach_df[start_slot:(start_slot + task_setup_time), Symbol(machine)].== 0))

这是什么意思?,我知道 any 是一个函数,如果参数的每个值都为真,则 returns 为真,但我只是不明白括号内的内容。

此致

让我们从里到外工作:

  • mach_df[start_slot:(start_slot + task_setup_time), Symbol(machine)] 从范围 start_slot:(start_slot + task_setup_time) 和名为 Symbol(machine) 的列中选择行(很可能不需要 Symbol,但我需要查看您的源代码准确地告诉你);结果你得到一个向量。
  • 如果 LHS 向量中的值为 0.,
  • mach_df[start_slot:(start_slot + task_setup_time), Symbol(machine)] .== 0 会给出另一个具有 true 的向量
  • 如果上面生成的向量中的任何值是 trueany 部分将 return 为真。

一种更高级(和高效)的编写方式是:

any(==(0), @view mach_df[start_slot:(start_slot + task_setup_time), Symbol(machine)])

但我不确定您的用例是否需要性能。