【问题标题】:Julia iterate over rows of dataframeJulia 遍历数据框的行
【发布时间】:2014-04-21 06:21:29
【问题描述】:

我正在尝试在 Julia 中迭代 DataFrame 的行以生成数据框的新列。我还没有遇到一个明确的例子来说明如何做到这一点。在 R 中,这种类型的东西是矢量化的,但据我了解,并非 Julia 的所有操作都是矢量化的,所以我需要遍历行。我知道我可以通过索引来做到这一点,但我相信一定有更好的方法。我希望能够按名称引用列值。这是我的:

test_df = DataFrame( A = [1,2,3,4,5], B = [2,3,4,5,6])
test_df["C"] = [ test_df[i,"A"] * test_df[i,"B"] for i in 1:size(test_df,1)]

这是 Julia/DataFrames 的做法吗?有没有更多的朱莉娅式的方式来做到这一点?感谢您的任何反馈。

【问题讨论】:

    标签: loops iteration dataframe julia


    【解决方案1】:

    您最好使用test_df[i,"A"] .* test_df[i,"B"]。通常,Julia 使用点前缀来表示元素操作。所有这些逐元素操作都是矢量化的。

    您也不想使用数组推导,因为您可能想要一个 DataArray 作为输出。目前没有 DataArray 推导,因为推导内置在 Julia 解析器中,这使得它们很难在 DataArrays.jl 等库中被覆盖。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-11
      • 2018-09-26
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 2021-02-17
      相关资源
      最近更新 更多