Python在哪里是数据

时间:2013-12-20 22:17:34

标签: python pandas

试图找到数据。

import pandas as pd
import numpy as np
import urllib

url = 'http://cawcr.gov.au/staff/mwheeler/maproom/RMM/RMM1RMM2.74toRealtime.txt'
urllib.urlretrieve(url,'datafile.txt')

df = pd.read_table('datafile.txt', sep='\s+', header=None)
df.columns = ['year', 'month', 'day', 'n1', 'n2', 'n3', 'n4', 'type']
df = df[df.year > 1978]
df = df[df.type < 'Prelim_value:_OLR_&_NCEPop_wind']

tda1[]
for a in range(df.shape[0],-1):
#for a in range(firstrowofdata,lastrowofdata):
#where is the first row, where is the last row, how do I find out through the
#computer program.  I want to do this with several different data sources.
    print(df.iloc[a])
        if a < df.shape[0]+19:
                tda1.append(0.0)

第一个问题是如何使用Python 2.7剥离标头。使用3.3,上面的代码工作正常,但它不会剥离2.7中的标题。在两个版本的Python之间遇到了很多问题...这令人抓狂。我安装了2.7终端,昨晚终于出去了,并改为2.7外壳。我一直在使用/厌倦了我一直在使用的2.7终端和3.3外壳之间的差异。

一旦我从数据源下载数据,我计划在整个程序过程中使用的许多不同来源中的一个我开始研究,我希望能够去除不必要的数据然后做使用剩余数据进行数学处理,并将结果与​​原始数据一起放入新列中。 Aka,2001年7月15日数学计算将在2001年7月15日的原始数据旁边。为了实现这一点,我需要找出第一行剥离数据的位置,以便我可以设置for循环(firstrow, LASTROW)。直到我能找到剥离数据的开头位置和剥离数据的末尾所在的位置,我才能做其他事情。如何检索告诉我第一行/最后一行存储位置的数字?我之前被告知使用头/尾或iloc。当我尝试使用df.iloc时,我得到的是错误DataFrame没有属性'iloc'。当我尝试使用df.head(0)或df.tail(-1)时,我得到的第一行/最后一行显示为头部或尾部线的第一个数字。我如何得到这个数字,所以我实际上可以使用该数字来设置计算机程序中的第一行/最后一行数据。如果我尝试:

n = df.head(0)
print (n)

它仍然给了我同样的东西。如何从整个头/尾线中剥离行号。

其次,我希望能够执行数学计算,然后返回并向数据框添加列。这可能......怎么样?我可以将数学计算数据放在原处存储原始数据的位置,也就是

df.columns = ['year', 'month', 'day', 'n1', 'n2', 'n3', 'n4', 'type', 'calc1', 'calc2', 'etc']

我希望数据全部位于相同的数据框中且日期匹配。例如,如果我采取5天移动平均值,截至2001年7月1日的日期,我希望将5天的平均值与2001年7月1日的原始数据放在一起。它只是更容易访问数据。

到目前为止,我很难让第一行/最后一行能够继续进行这个项目。这就是我现在所拥有的一切。我一直试图以零运气取得进展。

1 个答案:

答案 0 :(得分:0)

你应该明确跳过前两行(令人困惑的是python 3上不需要这样做):

df = pd.read_csv('datafile.txt', sep='\s+', header=None, skiprows=2)