gpt4 book ai didi

loops - Julia 迭代数据帧的行

转载 作者:行者123 更新时间:2023-12-03 18:38:32 24 4
gpt4 key购买 nike

我正在尝试遍历 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 的做法吗?有没有更多 Julia-eque 的方式来做到这一点?感谢您的任何反馈。

最佳答案

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

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

关于loops - Julia 迭代数据帧的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22430761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com