Applying weights to Randomized Arrays In a Dataframe

DF is a 10-row dataframe and your question does not make sense to me. Actually, not relevant to DataFrames but try to use StatsBase.sample.

sample(["Tablets", "Desktops", "Mobiles"], Weights([0.4,0.5,0.1]))

Example:

using StatsBase
items = 0:5
weights = 0:5
sample(items, Weights(weights))
julia> my_samps = sample(items, Weights(weights), 10)
10-element Array{Int64,1}:
 4
 3
 2
 1
 3
 3
 5
 5
 2
 2