Предположим, у меня есть блок данных с несколькими категориальными размерами и размером «значение», и я хочу, чтобы некоторые из них заполнили их, игнорируя остальные.Как включить функцию "игнорировать" столбцы?
В Джулии DataFrames есть функция агрегат, но если я позволяю некоторые categarical значения я получаю сообщение об ошибке, как он пытается применить функцию (здесь, сумма), также им вместо того, чтобы просто игнорировать их:
В:
using DataArrays, DataFrames
df = DataFrame(
colour = ["green","blue","white","green","green"],
shape = ["circle", "triangle", "square","square","circle"],
border = ["dotted", "line", "line", "line", "dotted"],
area = [1.1, 2.3, 3.1, 4.2, 5.2])
Out:
colour shape border area
1 green circle dotted 1.1
2 blue triangle line 2.3
3 white square line 3.1
4 green square line 4.2
5 green circle dotted 5.2
В:
aggregate(df,[:colour,:shape, :border],sum) # Ok
aggregate(df,[:colour,:shape],sum) # what I would like, ignoring border column
Out:
LoadError: MethodError: no method matching +(::String, ::String)
Очевидно, я могу просто удалить лишние столбцы до объединения, но, может быть, есть способ сделать это в один проход?