我正在学习可汗学院的统计学课程,作为我大学时代的一点复习,也是让我快速了解 Pandas 和其他科学 Python 的一种方式。
我有一张来自可汗学院的桌子,看起来像这样:
| Undergraduate | Graduate | Total
-------------+---------------+----------+------
Straight A's | 240 | 60 | 300
-------------+---------------+----------+------
Not | 3,760 | 440 | 4,200
-------------+---------------+----------+------
Total | 4,000 | 500 | 4,500
我想使用熊猫重新创建这个表。当然,我可以使用类似的东西创建一个 DataFrame
"Graduate": {...},
"Undergraduate": {...},
"Total": {...},
但这似乎是一种天真的方法,既会很快失败,又不能真正扩展。
我有表格的非总计部分,如下所示:
df = pd.DataFrame(
{
"Undergraduate": {"Straight A's": 240, "Not": 3_760},
"Graduate": {"Straight A's": 60, "Not": 440},
}
)
df
我一直在寻找并发现了一些有希望的东西,例如:
df['Total'] = df.sum(axis=1)
但我没有发现任何非常优雅的东西。
我确实找到了crosstab看起来应该做我想做的功能,但似乎为了做到这一点,我必须为所有这些值创建一个由 1/0 组成的数据框,这看起来很愚蠢,因为我已经已经有一个聚合。
我发现了一些似乎手动构建新总计行的方法,但似乎应该有更好的方法,例如:
totals(df, rows=True, columns=True)
什么的。
这是否存在于熊猫中,还是我必须拼凑出我自己的方法?
慕斯王
潇潇雨雨
慕容3067478
相关分类