我们有一个包含天气数据的数据框。
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))
有人知道在分组之前如何调用函数到列吗?
当前,您无法执行此操作,必须先创建一个新列。原因是分组列然后必须出现在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
和中的:dd
列SubDataFrame
,因此我们需要实现它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句