Я строю массив кортежей из фрейма данных в Julia версии 1.0.2 (2018-11-08)
В более ранних версиях Julia мне удавалось создать массив кортежей с помощью DataArray следующим образом:
df - мой фрейм данных, а p_1 - p_30 - выбранные столбцы
tuple.array= collect(zip(df[:p_1], convert(DataArray, df[:p_2]),df[:p_3], df[:p_4], df[:p_5],df[:p_6], df[:p_7], df[:p_8], df[:p_9], df[:p_10],df[:p_11],
df[:p_12], df[:p_13], df[:p_14],df[:p_15],df[:p_16],df[:p_17],df[:p_18], df[:p_19],df[:p_20],df[:p_21],df[:p_22],df[:p_23],df[:p_24],df[:p_25],
df[:p_26], df[:p_27],df[:p_28], df[:p_29], df[:p_30]))
Однако теперь это выдает ошибку: UndefVarError: DataArray not defined
Сейчас я пытаюсь создать массив кортежей, используя цикл for, однако это не работает.
k = []
function f(x,
k::Array{Tuple{Int64,Float64,Float64,Float64,Int64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,String,Float64,Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64,String,Int64,Float64,String},1}
)
for i = 1:2
a = x[i,1], x[i,2], x[i,3], x[i,4], x[i,5], x[i,6], x[i,7], x[i,8],
x[i,9], x[i,10], x[i,11], x[i,12], x[i,13], x[i,14], x[i,15], x[i,16],
x[i,17], x[i,18], x[i,19], x[i,20], x[i,21], x[i,22], x[i,23], x[i,24],
x[i,25], x[i,26], x[i,27], x[i,28], x[i,29], x[i,30]
k[i] = a
end
k
end
ans = f(df)
Результаты должны выглядеть следующим образом:
[(1, 35455.87, 5.5, 4.5, 83, 0.06, 0.000166, 4.0e-5, 2.45e-9, 5.93e-11, 0.25, 0.01851, 0.33, 0.5, 0.01851, "FC", 258.129, 90, 0, 120, 240, 360, 420, 0, 0, 5000, "10/12/2017", 54, 0.1, "TRUE"),(2, 1.05e6, 4.75, 4.0, 83, 0.06, 0.000125, 2.95e-5, 1.85e-9, 5.88e-11, 0.25, 0.01851, 0.33, 0.5, 0.01851, "FC", 258.129, 90, 0, 120, 240, 360, 420, 0, 0, 5000, "10/12/2017", 54, 0.1, "TRUE")]
Array{Tuple{Int64,Float64,Float64,Float64,Int64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,Float64,String,Float64,Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64,String,Int64,Float64,String},1}
Похоже, он не объединяет кортежи. Это вывод:
(1, 35455.87, 5.5, 4.5, 83, 0.06, 0.000166, 4.0e-5, 2.45e-9, 5.93e-11, 0.25, 0.01851, 0.33, 0.5, 0.01851, "FC", 258.129, 90, 0, 120, 240, 360, 420, 0, 0, 5000, "10/12/2017", 54, 0.1, "TRUE")
(2, 1.05e6, 4.75, 4.0, 83, 0.06, 0.000125, 2.95e-5, 1.85e-9, 5.88e-11, 0.25, 0.01851, 0.33, 0.5, 0.01851, "FC", 258.129, 90, 0, 120, 240, 360, 420, 0, 0, 5000, "10/12/2017", 54, 0.1, "TRUE")
(4, 30)
(4/30)
похоже на размер моего кадра данных
typeof(ans)
Tuple{Int64,Int64}