朱莉娅组按名称和总结计数

Gam*_*ows 5 plot julia

我是 Julia 的新手,有一个简单的问题。我有一个具有以下结构的 csv 文件:[类别、名称、计数]。我有两件事要创造。

1,我想在 julia 中创建一个函数,其中 groupBy 类别并将计数相加(名称被忽略)。所以输出是 [Name, Count]。然后我将通过设置 x= Name 和 y= Count 来生成条形图

2,我想为每个类别生成多个图,其中每个名称的计数绘制在单独的条形图上。那么迭代绘图过程?

我想我已经掌握了绘图的窍门,但我不确定如何执行 groupBy 过程。对教程的任何帮助/重定向将不胜感激。

我的数据示例:

(net_worth,khan,14)
(net_worth,kevin,15)
(net_worth,bill,16)
Run Code Online (Sandbox Code Playgroud)

我目前正在研究的功能:

function wordcount(text,opinion,number)
words= text
counts= Dict()
  for w = words
    counts[w]= number
  end
return counts
end

function wcreduce(wcs)
counts=Dict()
  for c in wcs, (k,v) in c
    counts[k] = get(counts,k,0)+v
  end
return counts
end
Run Code Online (Sandbox Code Playgroud)

我想我正在寻找像 reduceByKey 或 GroupByKey 这样的函数。

Gam*_*ows 6

所以我通过在 DataFrames 上使用 Julia by 函数解决了这个问题,

首先使用以下方法加载数据 csv:

data = readtable("iris.csv")
Run Code Online (Sandbox Code Playgroud)

现在它的功能是:

function trendingkeys(data::DataFrame,trends::Symbol,funcadd::Function)
  by(data, :trends, funcadd -> sum(funcadd[:counts]))
end
Run Code Online (Sandbox Code Playgroud)

我必须说。DataFrame 太聪明了。

  • 很高兴你能回答你的问题!我建议接受这个答案。 (2认同)