【发布时间】:2014-05-05 06:38:32
【问题描述】:
我目前正在编写一个接收 .csv 文件的代码,如下所示:
724070 93730 19800101 0 330 1.5 22000 -1.7 -5 1013.6 78
724070 93730 19800101 100 230 1.5 22000 -2.7 -5.5 1013.7 81
724070 93730 19800101 200 0 0 22000 -3.8 -4.9 1013.9 92
724070 93730 19800101 300 340 1.5 22000 -5.6 -6.1 1013.6 96
724070 93730 19800101 400 0 0 22000 -6.6 -7.7 1013.6 92
724070 93730 19800101 500 330 1.5 22000 -7.1 -8.8 1013.6 88
前两列是标识符,第三列是日期,第四列是小时,最后七列是感兴趣的值。我的最终目标是获得一年中每一天最后七列的每日平均值。
我尝试通过仅处理数组中的数据来搞乱,但我确信要走 pandas 的路线,所以我的代码是相当新的。到目前为止,我有:
import pandas as pd
csv = raw_input('What is the name of your file? ')
cols = ['USAF','NCDC','DATE','HR','WND DIR','WND SPD', 'SKY CVR','TMPC','TMDC','PRES','RH']
data = pd.read_csv(csv, header = None, parse_dates = [['DATE', 'HR']], names = cols)
由于我刚刚学习 pandas,因此我无法离开这里,我希望能得到一些帮助——我查看的其他问题还没有帮助。
1st) 这个 .csv 文件中有三个唯一的“USAF”标识符,有什么办法可以将这个数据框分成三个数据框,由 USAF 列确定?
2nd) pandas 很难识别我的日期和时间格式,这不允许我进一步计算平均值。如何缓解这种情况?
提前致谢
【问题讨论】:
-
你所说的“站”是什么意思?
-
我应该更笼统,“站”代表“美国空军”列下的三个唯一值