groupBy过滤列

问题描述 投票:1回答:1

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

01.01.2010 - 20  
02.01.2010 - 22

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

的东西

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

dataframe julia
1个回答
0
投票

当前,您无法执行此操作,必须先创建一个新列。原因是分组列然后必须出现在由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])

[您将看到通过索引此调用的结果而在:dy中具有:ddSubDataFrame列,因此我们需要实现它们。

© www.soinside.com 2019 - 2024. All rights reserved.