gpt4 book ai didi

python - 使用 pandas 查找每日平均值

转载 作者:行者123 更新时间:2023-12-01 05:14:34 25 4
gpt4 key购买 nike

我目前正在编写一个代码,该代码接受一个 .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,因此我无法从这里离开,并且我希望得到一些帮助 - 我查看的其他问题还没有帮助。

1)此 .csv 文件中有三个唯一的“USAF”标识符,有什么方法可以将此数据框分成三个数据框,这三个数据框由 USAF 列确定?

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

提前致谢

最佳答案

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

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']

您可以在任何数据帧上执行此操作 - 也是我之前称为意思的数据帧。但是,如果您想要对不同的执行的计算相同,则分离数据集就没有意义。我宁愿做的是将数据集放在一起,执行所有操作,并且在查看结果和/或绘图之前不要拆分。在我看来,这更干净。

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

关于python - 使用 pandas 查找每日平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23466306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com