我有以下数据帧:
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]})
我想创建一个数据框,用于生成有关的摘要统计信息 val 具有相同的项目列 class ID。为此,我使用 groupby 如下:
mydf.groupby("class").val.sum()
这是正确的行为,但我想保留 cat 结果df中的列信息。可以这样做吗?我一定要吗 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
这可能吗?