Dataframe 对Julia数据帧中的行求和
我有一个时间序列数据的数据帧,我想对具有相同名称的行求和,例如:Dataframe 对Julia数据帧中的行求和,dataframe,julia,Dataframe,Julia,我有一个时间序列数据的数据帧,我想对具有相同名称的行求和,例如: df = DataFrame(Name = ["A", "A", "B", "B"], Day_1 = [0, 2, 1, 4], Day_2 = [2, 3, 5, 7], Day_3 = [1, 3, 6, 2]) |-------|------|-------|-------|-------| | Row # | Name | Day_1 |
df = DataFrame(Name = ["A", "A", "B", "B"], Day_1 = [0, 2, 1, 4], Day_2 = [2, 3, 5, 7], Day_3 = [1, 3, 6, 2])
|-------|------|-------|-------|-------|
| Row # | Name | Day_1 | Day_2 | Day_3 |
| 1 | "A" | 0 | 2 | 1 |
| 2 | "A" | 2 | 3 | 3 |
| 3 | "B" | 1 | 5 | 6 |
| 4 | "B" | 4 | 7 | 2 |
我希望它能输出:
|-------|------|-------|-------|-------|
| Row # | Name | Day_1 | Day_2 | Day_3 |
| 1 | "A" | 2 | 5 | 4 |
| 2 | "B" | 5 | 12 | 8 |
我有一个所有不同名称的列表,但不知道每个名称对应多少行
谢谢大家! 以下是如何做到这一点:
julia> df
4×4 DataFrame
Row │ Name Day_1 Day_2 Day_3
│ String Int64 Int64 Int64
─────┼─────────────────────────────
1 │ A 0 2 1
2 │ A 2 3 3
3 │ B 1 5 6
4 │ B 4 7 2
julia> combine(groupby(df, :Name), names(df, Not(:Name)) .=> sum, renamecols=false)
2×4 DataFrame
Row │ Name Day_1 Day_2 Day_3
│ String Int64 Int64 Int64
─────┼─────────────────────────────
1 │ A 2 5 4
2 │ B 5 12 8
注意:从输出中,我可以看到您可能正在使用旧版本的DataFrames.jl。我建议您将其更新到最新发布的版本,即0.22.2