所以我一直在处理以下数据:
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完成处理
有什么建议吗?
答案 0 :(得分:0)
看起来您正在尝试访问包含“2007-01-26”的行,但您的语法是尝试提取列名称。尝试
print(df[df['Date'] == sdate])
顺便说一句,您也可以查看pandas pd.read_csv()函数,它会为您获取这些列名。