【发布时间】:2021-05-09 09:00:29
【问题描述】:
在 Julia 中迭代 df 时,有什么方法可以获取行和行对象的索引?如果不是,即使是找到行索引的方法也会很棒,因为我可以简单地使用eachrow() 然后找到迭代行的索引,尽管我认为这不太可能考虑到命名 df 的索引并不是真的Julia 支持。
对于上下文,我需要索引才能在 df 的每一列中找到第一次出现的 0,以便我可以将其替换为另一个值(例如 99)。为此,我想遍历 df 中每一列的所有行。例如对于 df = DataFrame(a = [1, 0, 2], b = [0, 1, 0], c = [0, 0, 4]) 代码:
for col_index in ["a", "b", "c"]
for row in eachrow(select(df, :i))
if row[1] == 0
df[row.index, :i] = 99
break
end
end
end
会把df变成
1 99 99
99 1 0
2 0 4
对不起,如果这是一个愚蠢的问题,虽然我在网上找不到任何与我的任何一个目标有关的东西。
【问题讨论】:
-
未测试,但
enumerate不适用于eachrow? -
我不知道枚举与朱莉娅合作...谢谢!让我不用手动写一个计数器,哈哈。
标签: dataframe indexing iteration julia