DavMelchi commited on
Commit
a622d3b
·
1 Parent(s): a21cda0

Add post-period total voice and data traffic columns to multi-RAT availability analysis output

Browse files
apps/kpi_analysis/trafic_analysis.py CHANGED
@@ -564,8 +564,11 @@ def analyze_multirat_availability(
564
 
565
  agg_dict = {col: "mean" for col in rat_cols}
566
 
567
- pre = df[df["period"] == "pre"].groupby("code", as_index=False).agg(agg_dict)
568
- post = df[df["period"] == "post"].groupby("code", as_index=False).agg(agg_dict)
 
 
 
569
 
570
  rename_map_pre = {
571
  "2g_tch_avail": "2g_avail_pre",
@@ -583,6 +586,25 @@ def analyze_multirat_availability(
583
 
584
  multi = pd.merge(pre, post, on="code", how="outer")
585
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
586
  if "City" in df.columns:
587
  city_df = df[["code", "City"]].drop_duplicates("code")
588
  multi = pd.merge(multi, city_df, on="code", how="left")
@@ -635,6 +657,8 @@ def analyze_multirat_availability(
635
  "3g_avail_post",
636
  "lte_avail_pre",
637
  "lte_avail_post",
 
 
638
  "ok_2g_post",
639
  "ok_3g_post",
640
  "ok_lte_post",
 
564
 
565
  agg_dict = {col: "mean" for col in rat_cols}
566
 
567
+ df_pre = df[df["period"] == "pre"]
568
+ df_post = df[df["period"] == "post"]
569
+
570
+ pre = df_pre.groupby("code", as_index=False).agg(agg_dict)
571
+ post = df_post.groupby("code", as_index=False).agg(agg_dict)
572
 
573
  rename_map_pre = {
574
  "2g_tch_avail": "2g_avail_pre",
 
586
 
587
  multi = pd.merge(pre, post, on="code", how="outer")
588
 
589
+ # Add post-period total traffic per site
590
+ if not df_post.empty and {
591
+ "total_voice_trafic",
592
+ "total_data_trafic",
593
+ }.issubset(df_post.columns):
594
+ post_traffic = (
595
+ df_post.groupby("code", as_index=False)[
596
+ ["total_voice_trafic", "total_data_trafic"]
597
+ ]
598
+ .sum()
599
+ .rename(
600
+ columns={
601
+ "total_voice_trafic": "post_total_voice_trafic",
602
+ "total_data_trafic": "post_total_data_trafic",
603
+ }
604
+ )
605
+ )
606
+ multi = pd.merge(multi, post_traffic, on="code", how="left")
607
+
608
  if "City" in df.columns:
609
  city_df = df[["code", "City"]].drop_duplicates("code")
610
  multi = pd.merge(multi, city_df, on="code", how="left")
 
657
  "3g_avail_post",
658
  "lte_avail_pre",
659
  "lte_avail_post",
660
+ "post_total_voice_trafic",
661
+ "post_total_data_trafic",
662
  "ok_2g_post",
663
  "ok_3g_post",
664
  "ok_lte_post",