weather-app / programs /load_data.py
rrayhka's picture
init
d0e04e1
import pandas as pd
import datetime
def get_time(data, time=datetime.datetime.now()):
current_date = time.strftime("%Y-%m-%d %H")
return data[data['date'] == current_date]
def get_data(data):
df = pd.read_csv(data, parse_dates=[0])
df.rename(columns={df.columns[0]: 'date'}, inplace=True)
df['date'] = df['date'].dt.strftime("%Y-%m-%d %H")
df = get_time(df)
timeseries = df.date.values
temp = df.predicted_mean.values
return timeseries, temp
def get_data_all(data):
df = pd.read_csv(data, parse_dates=[0])
df.rename(columns={df.columns[0]: 'date'}, inplace=True)
df['years'] = df['date'].dt.strftime("%Y")
df['months'] = df['date'].dt.strftime("%m")
df['days'] = df['date'].dt.strftime("%A")
df['daysn'] = df['date'].dt.strftime("%d")
df['hours'] = df['date'].dt.strftime("%H").astype(int)
df['temp'] = df.predicted_mean.values.astype(int)
df = df[df['hours'] % 3 == 0]
return df.drop(columns=['predicted_mean'])
def to_dict(df):
data_dict = {}
# Loop through years
for year in df['years'].unique():
data_dict[year] = {}
# Filter data for the current year
year_data = df[df['years'] == year]
# Loop through months
for month in year_data['months'].unique():
data_dict[year][month] = {}
# Filter data for the current month
month_data = year_data[year_data['months'] == month]
# Loop through unique dates
for date in month_data['daysn'].unique():
data_dict[year][month][date] = {}
# Filter data for the current date
date_data = month_data[month_data['daysn'] == date]
# Get the name of the day
day_name = date_data['days'].values[0]
data_dict[year][month][date]['day_name'] = day_name
# Loop through the hours and store the corresponding temperature
for hour in date_data['hours'].unique():
temp = date_data[date_data['hours'] == hour]['temp'].values[0]
data_dict[year][month][date][hour] = temp
return data_dict