如何在Julia`DataFrame中折叠具有重复时间戳的数据`
我有一个如何在Julia`DataFrame中折叠具有重复时间戳的数据`,julia,Julia,我有一个DataFrame对象,如下所示: | Row | timestamp | price | volume | |-----|---------------------|-------|--------| | 1 | 2011-08-14T14:14:40 | 10.40 | 0.779 | | 2 | 2011-08-14T15:15:17 | 10.40 | 0.101 | | 3 | 2011-08-14T15:15:17 | 10.40 | 0.
DataFrame
对象,如下所示:
| Row | timestamp | price | volume |
|-----|---------------------|-------|--------|
| 1 | 2011-08-14T14:14:40 | 10.40 | 0.779 |
| 2 | 2011-08-14T15:15:17 | 10.40 | 0.101 |
| 3 | 2011-08-14T15:15:17 | 10.40 | 0.316 |
| ... | ................... | ..... | ..... |
时间戳
是非唯一的,因此在解决此问题之前,我无法转换为时间数组
。如何折叠重复的时间戳
,取价格的平均值和数量的总和
谢谢你的指点 您可以使用:
如果您必须按天/月/等计算一些总数,您可能也会感兴趣。谢谢您的快速回答。您能澄清一下
t
变量的用途吗?它只是一个临时变量,作为do块中的最后一个变量,是返回的变量。
df = DataFrame(
cat = ["a", "b", "c","a"],
prices = [1,2,3,4],
vol = [10,20,30,40],
)
df2 = by(df, :cat) do sub
t = DataFrame(prices=mean(sub[:prices]), vol=sum(sub[:vol]))
end
df2
3×3 DataFrames.DataFrame
│ Row │ cat │ prices │ vol │
├─────┼─────┼────────┼─────┤
│ 1 │ "a" │ 2.5 │ 50 │
│ 2 │ "b" │ 2.0 │ 20 │
│ 3 │ "c" │ 3.0 │ 30 │