groupBy过滤列

时间:2019-11-14 17:06:43

标签: dataframe julia

我们有一个包含天气数据的数据框。
datetime-value

01.01.2010 - 20  
02.01.2010 - 22

我们现在要按分组。
我们当前的代码是 grouped = by(dataFrame, :datetime, df -> nrow(df)) 我们想要类似grouped = by(dataFrame, Date.Year(:datetime), df -> nrow(df))

的东西

有人在分组之前知道如何调用函数吗?

1 个答案:

答案 0 :(得分:2)

当前,您无法执行此操作,必须先创建一个新列。原因是分组列然后必须出现在maxDate: moment(), minDate: moment().subtract(1, "days"), 创建的GroupedDataFrame对象中(因此必须实现)。

因此,您应该先执行以下操作(我知道您想从分组中删除月份-对吗?):

groupby

现在,向您显示需要此操作的原因,请致电:

dataFrame.dy = Date.Year(dataFrame.datetime)
dataFrame.dd = Date.Day(dataFrame.datetime)
grouped = by(dataFrame, [:dy, :dd], :datetime, nrow)

您会看到groupby(dataFrame, [:dy, :dd]) 的{​​{1}}和:dy列是通过索引此调用的结果而产生的,因此我们需要具体化它们。