I have two dataframes for different periods of time - df_period_a with
Vendor Market VendorA MarketA VendorA MarketB VendorX MarketB VendorZ MarketB VendorC MarketX VendorB MarketX VendorB MarketA VendorD MarketA and df_period_b as -
Vendor Market VendorA MarketB VendorX MarketB VendorZ MarketB VendorC MarketB VendorB MarketX VendorD MarketX VendorE MarketB VendorF MarketC which means MarketA has closed down and a new market MarketC has come up, along with a couple of new vendors E and F. I want to show this and the movement (if any) of vendors among markets with a df_diff like -
Source Destination Value MarketX1 MarketX2 1 MarketA1 MarketX2 1 MarketB1 MarketX2 0 MarketX1 MarketB2 1 MarketB1 MarketB2 3 - MarketC2 1 - MarketB2 1 The Value here equals the number of vendors who have moved from source market in period a to destination market in period b.
Something that I tried doesn't work very accurately -
def get_vendor_displacement_count(market_list, df_before, df_after): for market in market_list: df_moved_vendors = pd.merge(df_before, df_after, on=['Vendor'], how='inner') df_moved_vendors.rename(columns={'Market_x':'Source', 'Market_y':'Target'}, inplace=True) df_moved_vendors['Source'] = dict_periods[len(market_list)+1] + " " + df_moved_vendors['Source'].astype(str) df_moved_vendors['Target'] = dict_periods[len(market_list)] + " " + df_moved_vendors['Target'].astype(str) return df_moved_vendors Also, would a Sankey diagram (ipysankeywidget) be the most appropriate diagram to show this displacement, or can I also look at some other visualizations for this? Thanks!
