Я работаю с 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'перед присвоением " проблема.Я пытаюсь использовать другой набор данных сбоя в этом коде, он работает хорошо.Так что я не знаю, где проблема.Кто-нибудь может мне помочь?Большое вам спасибо!