当前位置: 首页 > 知识库问答 >
问题:

使用Julia中的for循环迭代填充数据

尹冠宇
2023-03-14
#function to draw QMD lines
using DataFrames
function make_lines(qmd)
    BA=Float64[]
    TPA=Float64[]
    QMD=Int[]
    for i in stk_percent
        tpa= 1*(i*10)/(a[1]+a[2]*(-0.259+0.973*qmd)+a[3]*qmd^2)
        ba=pi*(qmd/24)^2*tpa
        push!(TPA,tpa)
        push!(BA,ba)
        push!(QMD,qmd)
    end
    return DataFrame(TPA=TPA,BA=BA,QMD=QMD)
end
dia = [7, 8, 10, 12, 14, 16, 18, 20, 22]

# can't get for loop to append all the data frames?
for i in dia
  df=DataFrame(TPA=Float64[],BA=Float64[],QMD=Int[])
  append!(df,make_lines(i))
return df
end
#this works to combine dataframe
test=make_lines(22)
test2=make_lines(8)
test[:]
append!(test,test2)

我是不是误解了什么?据我所知,Julia中的Dataframes与R中的Dataframes的工作方式不同,但我无法全神贯注于如何使其工作。

共有1个答案

元昊苍
2023-03-14

您已经很接近了,但在代码中有几个地方会出错。您当前有:

dia = [7, 8, 10, 12, 14, 16, 18, 20, 22]

# can't get for loop to append all the data frames?
for i in dia
  df=DataFrame(TPA=Float64[],BA=Float64[],QMD=Int[])
  append!(df,make_lines(i))
return df
end

这不是您想要的,原因有二:

第一:这个片段不是函数。因此,在其中包含返回是没有意义的,而且会导致问题。

dia = [7, 8, 10, 12, 14, 16, 18, 20, 22]

df=DataFrame(TPA=Float64[],BA=Float64[],QMD=Int[])
for i in dia
  append!(df,make_lines(i))
end
 类似资料:
  • 在Django模板中,我想创建一个遍历列表的for循环。在循环过程中,我还希望能够使用循环的迭代次数。 例如,如果有4个元素,那么: 应打印以下内容: 我该怎么做呢?

  • 我正在尝试使用For循环将一个随机整数(0-2)添加到一个变量中指定的次数。我遇到的问题是,循环不是每次循环时都使用一个新的随机数,所以,如果我输入9,我只能得到0、9,或者18。 我希望一个对象返回的键“a”和“b”具有不同的数值。

  • 问题内容: 这个问题已经在这里有了答案 : 如何并行地遍历两个列表? (7个答案) 5年前关闭。 我正在尝试使用for循环创建字典。这是我的代码: 输出: 为什么? 我正计划将其输出: 为什么不以这种方式输出?我们如何使其正确输出? 问题答案: 或者

  • 我如何循环年和月来显示下面的输出?显示期间的限制也是当月和年度,显示3年,包括截至日期的年度。意思是如果现在是2019年,那就展示2018年和2017年。 2019 1 201 9 2 201 9 3 201 9 4 201 9 5 201 9 6

  • 问题内容: 我在显示日期的django模板中有以下for循环。我想知道是否有可能在循环中迭代一个数字(在以下情况下为i)。还是我必须将其存储在数据库中,然后以days.day_number的形式查询? 问题答案: Django提供了它。你可以使用以下任一方法: 索引从1开始。 索引从0开始。 在模板中,你可以执行以下操作:

  • 在django模板中,我有以下for循环显示天数。我想知道是否有可能在循环中迭代一个数字(在下面的例子I中)。或者我必须将其存储在数据库中,然后以天的形式进行查询。第几天?