are there any problems in this code? import pandas as pd
from dash import Dash, html, dash_table, dcc
import plotly.express as px
import os

import os


def load_data(file_path, country):
    if not os.path.exists(file_path):
        raise FileNotFoundError(f"The file {file_path} does not exist.")

    usecols = ['dt', 'Country', 'AverageTemperature']
    try:
        data_frame = pd.read_csv(file_path, usecols=usecols, parse_dates=['dt'])
    except ValueError as e:
        raise ValueError(f"Error reading the file: {e}")

    if 'Country' not in data_frame.columns or 'AverageTemperature' not in data_frame.columns:
        raise ValueError("The required columns are not present in the data file.")

    data_frame = data_frame[data_frame['Country'] == country]
    return data_frame

def filter_country_data(data_frame):
    data_frame.set_index('dt', inplace=True)
    data_frame.dropna(subset=['AverageTemperature'], inplace=True)
    return data_frame

def calculate_moving_average(country_data, window_size=5):
    numeric_cols = country_data.select_dtypes(include='number').columns
    country_data = country_data[numeric_cols].resample('5YE').mean()
    country_data['MovingAverage'] = country_data['AverageTemperature'].rolling(window=window_size).mean()
    return country_data

def create_bar_chart(data_frame):
    fig = px.bar(data_frame, x=data_frame.index, y='AverageTemperature', title='Average Temperature Over Time')
    return fig

def create_scatter_plot(data_frame):
    fig = px.scatter(data_frame, x=data_frame.index, y='AverageTemperature', title='Temperature Scatter Plot')
    return fig

def create_figure(country_data):
    fig = px.line(country_data, x=country_data.index, y='MovingAverage', title='5-Point Moving Average Temperature Over Time in Latvia')
    fig.update_traces(mode='lines')
    fig.update_layout(
        plot_bgcolor='#121212',
        paper_bgcolor='#121212',
        font_color='white',
        xaxis=dict(showgrid=False, color='white'),
        yaxis=dict(showgrid=True, gridcolor='#333', color='white')
    )
    return fig

def create_app_layout(data_frame, fig):
    return html.Div([
        html.Div([
            dcc.Dropdown(
                id='country-dropdown',
                options=[{'label': country, 'value': country} for country in data_frame['Country'].unique()],
                value='Latvia'
            ),
            html.H2(children='Hi. This is my spin on a data dashboard.', style={'textAlign': 'center', 'color': 'white'}),
            html.Div([
                html.Div(className='arrow'),
                html.Div(className='arrow')
            ], style={'display': 'flex', 'justifyContent': 'center', 'marginTop': '20px'})
        ], style={'position': 'relative', 'zIndex': '1'}),
        html.Div([], className='animated-background'),
        html.Div([
            html.Div([
                dash_table.DataTable(
                    id='data-table',
                    page_size=10,
                    style_data_conditional=[],
                    style_cell={
                        'minWidth': '150px', 'maxWidth': '150px', 'width': '150px',
                        'backgroundColor': '#333', 'color': 'white', 'border': '1px solid #333'
                    },
                    style_header={
                        'backgroundColor': '#333', 'color': 'white', 'border': '1px solid #333'
                    }
                )
            ], style={'flex': '1', 'padding': '10px'}),
            html.Div([
                dcc.Graph(id='line-chart'),
                dcc.Graph(id='bar-chart'),
                dcc.Graph(id='scatter-plot')
            ], style={'flex': '1', 'padding': '10px'})
        ], style={'flex': '1', 'display': 'flex'}),
        html.Div([
            html.H3("Interpretation and Insights", style={'color': 'white'}),
            html.P("This section provides insights and interpretations of the data.", style={'color': 'white'})
        ], style={'padding': '20px'})
    ], style={'display': 'flex', 'flexDirection': 'column', 'height': '200vh', 'backgroundColor': '#121212', 'padding': '50px'})


# Main script
if __name__ == '__main__':
    data_frame = load_data('assets/GlobalLandTemperaturesByCountry.csv', 'Latvia')
    country_data = filter_country_data(data_frame)
    country_data = calculate_moving_average(country_data)
    fig = create_figure(country_data)

    app = Dash()
    app.layout = create_app_layout(data_frame, fig)
    app.run(debug=True)