From dac4baffd081d6917b1169850f8a0a4c23e4d199 Mon Sep 17 00:00:00 2001 From: Mike O'Brien Date: Mon, 2 Nov 2020 12:06:10 -0500 Subject: [PATCH] don't alter data frames in place in safegraph --- safegraph/delphi_safegraph/process.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/safegraph/delphi_safegraph/process.py b/safegraph/delphi_safegraph/process.py index adb0a2089..e7c3846ef 100644 --- a/safegraph/delphi_safegraph/process.py +++ b/safegraph/delphi_safegraph/process.py @@ -122,10 +122,11 @@ def aggregate(df, signal_names, geo_resolution='county'): """ # Prepare geo resolution if geo_resolution == 'county': - df['geo_id'] = df['county_fips'] + geo_transformed_df = df.copy() + geo_transformed_df['geo_id'] = df['county_fips'] elif geo_resolution == 'state': gmpr = GeoMapper() - df = gmpr.add_geocode(df, + geo_transformed_df = gmpr.add_geocode(df, from_col='county_fips', from_code='fips', new_code='state_id', @@ -136,7 +137,7 @@ def aggregate(df, signal_names, geo_resolution='county'): f'`geo_resolution` must be one of {GEO_RESOLUTIONS}.') # Aggregation and signal creation - grouped_df = df.groupby(['geo_id'])[signal_names] + grouped_df = geo_transformed_df.groupby(['geo_id'])[signal_names] df_mean = grouped_df.mean() df_sd = grouped_df.std() df_n = grouped_df.count()