Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
def add_day_month_year(df):
dates = df["Date"].map(lambda x: x[:10])
df["day_of_month"] = dates.map(lambda x: x.split("/")[1])
df["month"] = dates.map(lambda x: x.split("/")[0])
df["year"] = dates.map(lambda x: x.split("/")[2])
df["date"] = dates
return df
from pandas import read_csv
crimes_df = read_csv("CrimeData.csv")
crimes_df = add_day_month_year(crimes_df)
crimes_df = crimes_df[crimes_df.year <= "2019"]
crimes_count_df = crimes_df \
.groupby(["year", "month"]) \
.size() \
.to_frame("crimes") \
.reset_index()
from calendar import monthrange
crimes_count_df["Days in month"] = crimes_count_df.apply(lambda row: monthrange(int(row.year), int(row.month))[1], axis=1)
crimes_count_df["Average crimes"] = crimes_count_df.apply(lambda row: row["crimes"] / row["Days in month"], axis=1)
print(crimes_count_df.to_string())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment