локальная переменная, на которую ссылаются перед присваиванием, хорошо работает на других наборах данных - PullRequest
0 голосов
/ 06 октября 2018

Я работаю с CSV, который содержит дату падения трафика в течение 5 лет.Я хочу оценить среднее число аварий для каждого месяца.вот мой код:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
df = pd.read_csv('other.csv')
df['Time'] = df['Crash_Date'].str[:-8] + ' ' + df['Crash_Time']
df['Time'] = pd.to_datetime(df['Time'])
df['Crash_Date'] = pd.to_datetime(df['Crash_Date'])
df = df[df.Crash_Date < '2018-01-01 00:00:00']
# Day_Number : Monday=0, Saturday=5, Sunday=6
df['Day_Number'] = df['Crash_Date'].dt.dayofweek
df = df[df.Sig_ID != 0]
#function to estimate the average crash number for each month
def month_crash(x):
    t = 0
    for date in df['Crash_Date']:
        if date.month == x:
            t = t + 1
            y = t/5
    return y
#create a fataframe to save result
month = []
newcrash = []
for i in range(1,13):
    month.append(i)
    newcrash.append(month_crash(i))

month_crash = pd.DataFrame(
    {'Month': month,
     'Crash': crash
    })

Вот мои данные: введите описание изображения здесь Однако каждый раз, когда я запускаю этот код, у меня появляется "локальная переменная 'y'перед присвоением " проблема.Я пытаюсь использовать другой набор данных сбоя в этом коде, он работает хорошо.Так что я не знаю, где проблема.Кто-нибудь может мне помочь?Большое вам спасибо!

...