我使用Daru并有一个向量。
vector = Daru::Vector.new({ a: 1, b: 2, c: 3})现在,我有一个函数,我想把它应用到每个元素上,然后作为向量得到结果。
// example function; a function I'd like to apply on each element
f = ->(num) { rand(num) }
vector.some_mapping_method(&f)
# => expects Vector of { a: rand(1), b: rand(2), c: rand(3) }我尝试了.map方法,但这会返回一个数组。
问题
如何映射向量中的每个元素并返回与原始元素具有相同索引的向量?
用蟒蛇的术语来说,我想要熊猫体内的.map pd.Series方法。
发布于 2022-09-20 09:15:19
有用于map!和recode的Vector方法(参见文档)
所以,你应该能够做到以下两种:
vector.map! {|value| rand(value)}
或
new_vector = vector.recode {|value| rand(value)}
(如果要改变矢量位置,则为vector = vector.recode {|value| rand(value)} )
我在代码中使用了recode,而不是map!__,所以我不能保证它是这样工作的。关于map!的文档不是最好的
https://stackoverflow.com/questions/72429990
复制相似问题