【发布时间】:2012-03-24 04:54:56
【问题描述】:
我偶然发现了pandas,它看起来非常适合我想做的简单计算。我有 SAS 背景,并认为它会取代 proc freq - 看起来它会扩展到我将来可能想做的事情。但是,我似乎无法完成一项简单的任务(我不确定我是否应该查看pivot/crosstab/indexing - 我是否应该拥有Panel 或DataFrames 等... )。有人可以给我一些关于如何执行以下操作的指示:
我有两个 CSV 文件(一个用于 2010 年,一个用于 2011 年 - 简单的交易数据)- 列是类别和金额
2010 年:
AB,100.00
AB,200.00
AC,150.00
AD,500.00
2011:
AB,500.00
AC,250.00
AX,900.00
这些被加载到单独的 DataFrame 对象中。
我要做的是获取类别,类别之和,类别的频率,例如:
2010 年:
AB,300.00,2
AC,150.00,1
AD,500.00,1
2011:
AB,500.00,1
AC,250.00,1
AX,900.00,1
我不知道是否应该使用pivot/crosstab/groupby/an index
等等......我可以得到总和或频率 - 我似乎无法同时得到......它变得有点复杂,因为我想每月做一次,但我想如果有人很乐意为我指出正确的技术/方向,我将能够从那里开始。
【问题讨论】:
-
那么您是说每个
.csv文件只是一行,然后在该行中,第一个值是年份,后面是您在上面显示的数据? -
嗨 Factor3,这正是 S/O 决定格式化它的方式(我第一次使用它,所以将来必须注意它)......让我澄清一下...... . 有两个文件 - 2010.csv 和 2011.csv;这些包含“n”多行,每行包含两列。我试图简化问题 - 但我同意格式有点误导,因为我已经读回来了!
-
我在Q&A 中提供了几个详细的示例和替代方法,您或其他人可能会觉得有帮助。
标签: python pandas dataframe pivot-table