首页 > 解决方案 > python中的平均风数据(每小时10-10分钟)

问题描述

我在大约 3 个月的时间内每 10 分钟测量一次风数据,为了做 Wind Rose,我需要“简化”这些数据,因此,平均每 1 小时的风。为此,我打开了类似 .data的文件“.data”或“.txt”

我通过划分数据并排除我不会使用的内容来分隔excel中的列,因此...... excel

在 Excel 中,我将风矢量分解为 X 和 Y,如下所示:

WindDirDegree * (Pi / 180) = WindDirRad

Xwind = WindSpd * sin (WindDirRad)

Ywind = WindSpd * cos (WindDirRad)

现在我需要在 python 中上传这些数据,正确读取原始文件或已经分离的文件,让它识别日期和时间以及测量值,并同时平均 Xwind 和 Ywind 数据(每小时) . 仅将其导出就可以挽救我的生命,然后以度数退回到风中,并且我已经可以在 wrplot 中进行风玫瑰图了。谁能帮我?

编辑我可以导入文件,我只是不能让它识别日期,识别相同的时间,并命令做 X 和 Y 平均值。

我有一个旧脚本,但我不明白

将熊猫导入为 pd

从日期时间导入日期时间作为 dt

解析 = lambda x: dt.strptime(x, '%Y %m %d %H %M')

meu_df = pd.read_excel('./teste.xlsx', parse_dates=[['YYYY', 'MM', 'DD', 'HH', 'MM.1']], index_col=0, date_parser=parse)

meu_df.between_time('11:00','11:59')

meu_df[meu_df.index.hour == 10]

horas = set(meu_df.index.hour.values)

对于 hora 中的 hora: print('hora = {}'.format(hora)) a = meu_df[meu_df.index.hour == hora].mean() print(a)

meu_df[meu_df.index.hour == 10].mean()

media_wspd = meu_df['WSPD'].between_time('11:00','11:59').mean()

标签: pythonexcel

解决方案


我看到你是 python 的新手,在一些帮助之后,我认为你应该去看看一个叫做 pandas 的 python 库。您可以做您在帖子中谈论的所有内容,读取看起来像 csv 文件的原始数据

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

import pandas as pd

df = pd.read_csv("filename.data")

将帮助您开始,然后您可以汇总并进行所需的所有操作


推荐阅读