Python:熊猫是正确使用的东西吗?

时间:2013-12-17 23:01:06

标签: python pandas

我正在尝试使用1.8mB的txt文件。之后有几个标题行,它的所有空格分隔数据。我可以使用pandas关闭数据。我想要对数据做的是:

1)剪掉非必要数据。即第一个1675行,大致我要删除和最后的3-10行,每天都有所不同,我也想删除。我可以删除第一行,有点。我现在拥有的这个想法的一大问题是确定1675指针位置在哪里。使用像

这样的东西
    df = df[df.year > 1978]

仅将初始“指针”移动到1675.如果我尝试

   dataf = df[df.year > 1978]

它只是给了我第一行的纯粹副本。它仍然将指针保持在相同的1675起始点。它不允许我访问前1675行中的任何一行,但它们显然仍然存在。

    df.year[0]

它返回错误,表明第0行不存在。我必须出去搜索找到第一个可读的行...而不是扁平删除行并将新指针移动到0它只是将指针移动到1675并且不允许访问任何低于那。我还没有找到一种方法可以通过编程来确定最后一行编号是什么,通过shell它很容易但我需要能够通过程序来完成它所以我可以为第2点设置循环。

2)我希望能够获取数据的平均值,'x'日移动平均线,并在计算出移动平均线后用新数据创建一个新列。我想我可以使用系列声明创建新专栏...我想......我还没有尝试过,尽管我还没有达到这个目的。

3)在完成所有这些以及更多数学之后,我希望能够使用自制图表绘制数据。我认为一旦完成其他所有事情,这应该很容易。我已经创建了示例图表,并且可以在我有数据处理后绘制图表上的点/线。

熊猫是该项目的正确库,还是我应该尝试使用别的东西?到目前为止,我做的研究越多......我得到的失去的越多,我一直在尝试的东西让我更进一步,但同时让我更进一步。在类似的东西中,我看到在想要对数据块进行数学运算时使用其他东西。他们没有任何迹象表明他使用了什么。

2 个答案:

答案 0 :(得分:1)

听起来你主要的麻烦是索引。如果您想在DataFrame中引用“第一”内容,请使用df.iloc[0]。但无论如何,DataFrame索引都非常强大。

http://pandas.pydata.org/pandas-docs/stable/indexing.html

答案 1 :(得分:0)

我认为你正朝着正确的方向前进。 Pandas为您提供了对数据的良好,高级控制,因此您可以比使用传统逻辑更轻松地操作它。学习需要一些工作。完成他们的教程,你应该没事。但是不要掩饰它们,否则你会错过一些重要的细节。

我不确定为什么你担心你想要忽略的行只要不在分析中使用就不会被删除,这并不重要。除非您面临内存限制,否则它可能无关紧要。但是,如果你确实发现你无法承受它们,我相信有一种方法可以真正消除它们,即使它有点侧面。

现在处理几兆字节的数据非常容易,而Pandas会毫无问题地处理它。我相信你可以轻松地将熊猫数据传递给numpy进行统计计算。不过,在接受我的说法之前,你应该仔细检查一下。另外,他们在熊猫网站上提到了matplotlib,所以我猜我也很容易做基本的图形。