Рассмотрите возможность создания dict
фреймов, ключом которого будет ваше имя 'INDUSTRY_SECTOR`.
Сначала создайте команду INDUSTRY_SECTOR: тикеры столбцов
g = df1.groupby('INDUSTRY_SECTOR')['Ticker'].apply(list).to_dict()
print(g)
{'Communications': ['TLRA_Equity'], 'Consumer, Non-cyclical': ['RC_Equity', 'DAR_Equity'], 'Industrial': ['KAMN_Equity', 'B_Equity', 'ARNC_Equity']}
Затем создайте понимание:
frames = {k:df2.set_index('Date')[v] for k,v in g.items()}
print(frames)
{'Communications': TLRA_Equity
Date
1/1/2000 10
2/1/2000 15
3/1/2000 17,
'Consumer, Non-cyclical': RC_Equity DAR_Equity
Date
1/1/2000 50 60
2/1/2000 55 65
3/1/2000 57 67,
'Industrial': KAMN_Equity B_Equity ARNC_Equity
Date
1/1/2000 20 30 40
2/1/2000 25 35 45
3/1/2000 27 37 47}
Нотабене
Как указал @Parfait, чтобы включить столбец Date
, вам необходимо установить его в качестве индекса в понимании dict. Если вы не хотите Date
в качестве индекса, вместо этого используйте:
frames = {k:df2.set_index('Date')[v].reset_index() for k,v in g.items()}