我正在填写这个空载体:
for (numbers in number_vec) {
sqrt <- sqrt(numbers)
empty_vec[numbers] <- sqrt
}
来自此循环的序列号:
numbers_vec
其中c(16:49)
为empty_vec
。
但是,当我执行此操作时,.document.getElementById("")
中的第一个位置(1-15)未填充?
答案 0 :(得分:0)
您可以通过两种方式解决此问题:
首先,您可以创建一个计数器,它将记录您所在循环的哪一步,并将其用作import pandas as pd
data = [{'id': 'Jones', 'tf': [(0, 0.5), (1,2.0)]},
{'id': 'Alpha', 'tf': [(1,2.0)]},
{'id': 'Blue', 'tf': [(2,0.1),(1,0.2)]}]
df = pd.DataFrame(data)
df = df.join(pd.DataFrame(columns=[0, 1, 2]))
for idx, lst in enumerate(df['tf']):
for tup in lst:
df.iat[idx, tup[0]+2] = tup[1]
df = df.drop('tf', 1).melt('id').dropna(subset=['value'])
# id variable value
# 0 Jones 0 0.5
# 3 Jones 1 2
# 4 Alpha 1 2
# 5 Blue 1 0.2
# 8 Blue 2 0.1
的索引,如下所示:
empty_vect
或者您可以创建一个空向量并连接每个新值,如下所示:
empty_vec <- rep("", times=length(number_vec))
counter=0
for (numbers in number_vec) {
counter=counter+1
sqrt<-sqrt(numbers)
empty_vec[counter]<-sqrt
}
你正在做的事情,就像你开始以第16个位置填充你的向量,这就是你有错误的方式。
答案 1 :(得分:0)
首先,您需要了解循环的工作原理
for循环的一般表达是
for(var in seq) expr
var = A syntactical name for a variable
seq = An expression evaluating to a vector (including a list and an expression) or to a pairlist or NULL. A factor value will be coerced to a character vector.
所以请注意,&#34; seq&#34;将是&#34; var&#34;。
的价值在你的例子中,你写了
for (numbers in number_vec)
where,
numbers = Name of the variable
number_vec = c(16:49)
所以在这里,&#34;数字&#34;的初始值将是&#34; number_vec&#34;的第一个值这是16。
在后面的循环步骤中,表达式
empty_vec[numbers]<-sqrt
where ,
empty_vec[numbers] indicate the 16th position of the empty_vec as initially numbers started with value 16
当你从第16个位置开始时,之前的15个位置仍为空。
问题的可能解决方案:
number_vec = c(16:49)
empty_vec <- rep("", times=length(number_vec))
for (numbers in seq_along(number_vec)) {
sqrt<-sqrt(number_vec[numbers])
empty_vec[numbers]<-sqrt
}