Python 利用熊猫寻找每日平均值

Python 利用熊猫寻找每日平均值,python,csv,pandas,Python,Csv,Pandas,我目前正在编写一个代码,该代码接收一个.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 72

我目前正在编写一个代码,该代码接收一个.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
其中前两列是标识符,第三列是日期,第四列是小时,最后七列是感兴趣的值。我的最终目标是得到一年中每一天最后七列的每日平均值

我试图通过只在数组中操作数据来胡闹,但我确信要走熊猫路线,所以我的代码是相当新的。到目前为止,我已经:

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)
因为我刚刚学习熊猫,所以我在离开这里时遇到了困难,我希望能得到一些帮助——我所看到的其他问题还没有帮助

1)此.csv文件中有三个唯一的“USAF”标识符,我是否可以将此数据帧分为三个数据帧,这三个数据帧由USAF列确定

第二)熊猫很难识别我的日期和时间格式,这不允许我进一步计算平均值。我如何缓解这种情况


提前感谢

通过观察创建平均值相当简单。请注意,这不是一个特定于日期的概念,您基本上希望使用一些值作为组标识符来创建平均值。这方面的标准代码是

df = pd.DataFrame(data)
means = df.groupby('DATE').mean()
如果要根据名为“a”的列的三个值“a1”、“a2”、“a3”来分隔数据,一种方法是

data1 = df[df['A'] == 'a1']
data2 = df[df['A'] == 'a2']
data3 = df[df['A'] == 'a3']
您可以在任何数据帧上执行此操作,也可以在我前面称为
的数据帧上执行此操作。但是,如果要对不同的
站执行相同的计算,则分离数据集是没有意义的。我更愿意做的是将数据集保持在一起,执行所有操作,并且在查看结果和/或绘图之前不要拆分。那更干净,国际海事组织


至于将列标识为日期,我相信这是一个在这里经常被问(和回答)的问题。

你说的“站”是什么意思?我应该更一般地说,“站”代表“USAF”列下的三个独特值哇,我在尝试了这一点之后有一个“Huzzah!”时刻。非常感谢你!