python如何将获取每小时的平均光强强度,def get_data_avg_perhour(table_name):# 每小时平均光强 mycursor = mydb.cursor() mycursor.execute(f"SELECT time, illuminance FROM {table_name}") data = mycursor.fetchall() x = [row[0]/3600 for row in data] y = [row[1] for row in data] return x, y
时间: 2024-03-23 12:36:52 浏览: 72
你提供的 `get_data_avg_perhour` 函数与你的问题描述不符,因为该函数中的代码与获取每小时的平均光强强度无关。不过,我可以给你提供一个修改版的 `get_data_avg_perhour` 函数,用于获取每小时的平均光强强度。代码如下:
```python
import pandas as pd
def get_data_avg_perhour(table_name):
# 从数据库中读取数据
mycursor = mydb.cursor()
mycursor.execute(f"SELECT time, illuminance FROM {table_name}")
data = mycursor.fetchall()
df = pd.DataFrame(data, columns=['time', 'illuminance'])
df['time'] = pd.to_datetime(df['time'])
df = df.set_index('time')
# 计算每小时的平均光强强度
hourly_mean = df['illuminance'].resample('H').mean()
x = hourly_mean.index
y = hourly_mean.values
# 返回每小时的时间戳和平均光强强度
return x, y
```
该函数首先将从数据库中读取的数据转换为DataFrame格式,并将时间戳列设置为索引。然后,使用 `resample` 方法按小时重采样数据,并计算每小时的平均光强强度。最后,将每小时的时间戳和平均光强强度分别保存到列表 `x` 和 `y` 中,并返回这两个列表。
阅读全文