【发布时间】:2014-01-21 11:01:14
【问题描述】:
我有以下数据框:
mydf = pandas.DataFrame({"cat": ["first", "first", "first", "second", "second", "third"], "class": ["A", "A", "A", "B", "B", "C"], "name": ["a1", "a2", "a3", "b1", "b2", "c1"], "val": [1,5,1,1,2,10]})
我想创建一个数据框,对具有相同 class id 的项目的 val 列进行汇总统计。为此,我使用groupby 如下:
mydf.groupby("class").val.sum()
这是正确的行为,但我想在结果 df 中保留 cat 列信息。可以吗?我以后必须merge/join那个信息吗?我试过了:
mydf.groupby(["cat", "class"]).val.sum()
但这使用了分层索引。我想要一个简单的数据框,它只有每个组的cat 值,其中 group by 是class。输出应该是具有 cat 和 class 值的数据帧(不是系列),其中 val 条目对具有相同 class 的每个条目求和:
cat class val
first A 7
second B 3
third C 10
这可能吗?
【问题讨论】:
-
你能举例说明你希望你的输出是什么吗?
-
@BrenBarn:刚刚添加了它