按日期发出呼叫时间序列数据

时间:2014-07-22 15:58:21

标签: python csv pandas

所以我一直在处理以下数据:

      Date  AB1  BC1 MB1 NWT1 SK1 Total1  AB2 BC2 MB2 SK2 Total2
0   2007-01-05  305   76   1    0  36    418  324  64   0  23    417
1   2007-01-12  427   95   5    0  58    585  435  82   2  62    586
2   2007-01-19  481  102   4    0  65    652  460  77   3  63    606
3   2007-01-26  491   98   6    0  59    654  506  79   4  70    664
4   2007-02-02  459   95   6    2  55    617  503  79   5  71    660
5   2007-02-09  459   88   5    4  61    617  493  73   4  68    641
6   2007-02-16  450   83   5    5  60    603  486  74   5  68    636
....

使用以下代码读取数据,解析它,现在尝试通过'sdate'调用它。

def readcsv3():
    csv_data = read_csv(file3,dtype=object,parse_dates=[0])
    csv_data3 = csv_data.values
    return csv_data3

def otherrigs():
    sdate='2007-01-26'
    df = readcsv3()
    df = DataFrame(df,columns=['Date','AB1','BC1','MB1','NWT1','SK1','Total1','AB2','BC2','MB2','SK2','Total2'])


    print(df[sdate])

现在我收到以下错误:

KeyError:'2007-01-26'

使用退出代码1完成处理

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

看起来您正在尝试访问包含“2007-01-26”的行,但您的语法是尝试提取列名称。尝试

print(df[df['Date'] == sdate])

顺便说一句,您也可以查看pandas pd.read_csv()函数,它会为您获取这些列名。