我有一个.csv文件,其列名为“值”
ID Values
0 0.201915
1 0.441945
2 0.001931
3 0.221311
4 0.303101
该.csv文件具有180900行。我需要根据条件更改值,例如:
if [value] < 0.030 then [value] = 0.030 else [value] AND if [value] > 0.95 then [value] = 0.95 else [Value]
到目前为止,我尝试过什么:(仅先检查低于0.025的值)
i = 1
for r in eachrow(df)
global i
if r.Values < 0.025
r.Values = 0.025
i =1+1
end
有人能帮我吗?
做就是了
df.Values = min.(max.(0.3, df.Values), 0.95);
这是包含您的数据的完整代码:
julia> df = CSV.read(IOBuffer("""ID Values
0 0.201915
1 0.441945
2 0.001931
3 0.961311
4 0.303101"""),DataFrame, delim=" ", ignorerepeated=true)
5×2 DataFrame
Row │ ID Values
│ Int64 Float64
─────┼─────────────────
1 │ 0 0.201915
2 │ 1 0.441945
3 │ 2 0.001931
4 │ 3 0.961311
5 │ 4 0.303101
julia> max(3,4)
4
julia> df.Values = min.(max.(0.3, df.Values), 0.95);
julia> df
5×2 DataFrame
Row │ ID Values
│ Int64 Float64
─────┼─────────────────
1 │ 0 0.3
2 │ 1 0.441945
3 │ 2 0.3
4 │ 3 0.95
5 │ 4 0.303101
根据Bogumil的建议,您还可以尝试clamp
更快一点的方法:
df.Values = clamp.(df.Values, 0.3, 0.95)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句