Я пытаюсь создать несколько графиков некоторых данных о ветре, однако у меня возникают проблемы при выборе конкретных данных с использованием двух параметров, то есть часа дня и месяца.Я пытаюсь использовать функцию, чтобы найти захват определенных данных, но вместо этого получаю ошибку
Traceback (most recent call last):
File "/Users/Cpower18/Documents/Tryong_again.py", line 47, in <module>
plt.plot(hr, hdh(hr, mn2))
File "/Users/Cpower18/Documents/Tryong_again.py", line 37, in hdh
for n, k in hr, mn2:
ValueError: too many values to unpack (expected 2)
В настоящее время я использую кадры данных для сортировки данных по дате и функцию для захвата конкретных данных.Мне удалось сделать это только с одной переменной, которая является часом дня, но не для двух переменных.
import csv
import warnings
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
warnings.simplefilter(action='ignore', category=FutureWarning)
data = pd.read_csv('merged_1.csv')
df = pd.DataFrame(data)
df['Wind Spd (km/h)'] = pd.to_numeric(df['Wind Spd (km/h)'], errors ='coerce')
df['Date/Time'] = pd.to_datetime(df['Date/Time'], errors = 'coerce')
df = df.set_index(pd.DatetimeIndex(df['Date/Time']))
df['hour'] = df.index.hour
df['month'] = df.index.month
mn1 = np.linspace(1, 2, 2)
mn2 = np.linspace(3, 5, 3)
mn3 = np.linspace(6, 8, 3)
mn4 = np.linspace(9, 11, 3)
mn5 = np.linspace(12)
hr = np.linspace(0, 23, 24)
def hdh(hr, mn2):
out = []
for n, k in hr, mn2:
t = (df['hour'] == n) & (df['month'] == k)
s = t['Wind Spd (km/h)'].mean(axis = 0) / 3.6
out.append(s)
return out
plt.plot(hr, hdh(hr, mn2))
plt.xlabel('Hour')
plt.ylabel('Wind Speed (m/s)')
plt.xlim(0, 24)
plt.ylim(2.85, 4.75)
plt.title('ShearENV Anual Average Hourly Wind Speed')
plt.grid(which = 'both', axis='both')
plt.show()`
Ожидаемый результат должен представлять собой список данных, соответствующих определенному часу (например, 01:00) и определенному сезону (например, 3–5 месяцев).На данный момент я получаю только ошибки, спасибо за любую помощь.