Spaces:
Sleeping
Sleeping
File size: 2,662 Bytes
33f164a ae3451c 33f164a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import pandas as pd
import numpy as np
def remove_previous_view(counts_df):
filtered_views_list = ['View_from_Second_Link_at_Tuas_to_sg',
'View_from_Second_Link_at_Tuas_to_jh',
'View_from_Tuas_Checkpoint_to_sg',
'View_from_Tuas_Checkpoint_to_jh',
'View_from_Woodlands_Causeway_Towards_Johor_to_sg',
'View_from_Woodlands_Causeway_Towards_Johor_to_jh',
'View_from_Woodlands_Checkpoint_Towards_BKE_to_sg',
'View_from_Woodlands_Checkpoint_Towards_BKE_to_jh']
counts_df = counts_df[counts_df['view'].isin(filtered_views_list)]
return counts_df
def merge_volumes(counts_df):
merge_groups = {"Tuas - to SG": ["View_from_Second_Link_at_Tuas_to_sg", "View_from_Tuas_Checkpoint_to_sg"],
"Tuas - to Johor": ['View_from_Second_Link_at_Tuas_to_jh', 'View_from_Tuas_Checkpoint_to_jh'],
"Woodlands - to SG": ['View_from_Woodlands_Causeway_Towards_Johor_to_sg', 'View_from_Woodlands_Checkpoint_Towards_BKE_to_sg'],
"Woodlands - to Johor": ['View_from_Woodlands_Causeway_Towards_Johor_to_jh', 'View_from_Woodlands_Checkpoint_Towards_BKE_to_jh']}
def apply_merge_groups(row):
for key, value in merge_groups.items():
if row in value:
return key
counts_df['merge_group'] = counts_df['view'].apply(apply_merge_groups)
counts_df = counts_df.groupby(by = ['merge_group', 'date', 'time']).sum(numeric_only = True)
counts_df = counts_df.reset_index()
counts_df = counts_df.rename(columns={"merge_group": "view"})
return counts_df
def daily_average(counts_df):
filtered_views_list = ['View_from_Second_Link_at_Tuas_to_sg',
'View_from_Second_Link_at_Tuas_to_jh',
'View_from_Tuas_Checkpoint_to_sg',
'View_from_Tuas_Checkpoint_to_jh',
'View_from_Woodlands_Causeway_Towards_Johor_to_sg',
'View_from_Woodlands_Causeway_Towards_Johor_to_jh',
'View_from_Woodlands_Checkpoint_Towards_BKE_to_sg',
'View_from_Woodlands_Checkpoint_Towards_BKE_to_jh']
counts_df_filter_views = counts_df[counts_df['view'].isin(filtered_views_list)]
counts_df_filter_views['date'] = pd.to_datetime(counts_df_filter_views['date'])
counts_df_filter_views['day_of_week'] = counts_df_filter_views['date'].dt.day_of_week
date_view_group = counts_df_filter_views.groupby(by=['view', 'day_of_week']).mean()
date_view_group = date_view_group.reset_index() |