根据列中的字符串合并数据帧列表,然后将其转换为字典

任务描述


我想根据列(国家/地区)中的字符串合并数据帧列表,然后将其转换为字典,并将国家/地区列作为键,将合并的数据帧作为值。数据示例:


国家名称列表


country_names = ['ITA', USA', 'UK', 'ARG']

名为 df_countries 的数据帧列表


df_countries[0]


  index   Date      A   B   C  Country     

    1   2019-12-31  x   y   z    ITA

    2   2019-12-30  x   y   z    ITA    


df_countries[1]


  index   Date      A   B   C  Country     

    1   2019-12-31  x   y   z    ITA

    2   2019-12-30  x   y   z    ITA    


df_countries[2]


  index   Date      A   B   C  Country     

    1   2019-12-31  x   y   z    USA

    2   2019-12-30  x   y   z    USA    


df_countries[3]


  index   Date      A   B   C  Country     

    1   2019-12-31  x   y   z    ARG

    2   2019-12-30  x   y   z    ARG    

例如,我希望ITA在合并后看起来像下面这样,然后从中创建一个以ITA为键的字典等:


  index   Date      A   B   C  Country     

    1   2019-12-31  x   y   z    ITA

    2   2019-12-30  x   y   z    ITA       

    3   2019-12-31  x   y   z    ITA

    4   2019-12-30  x   y   z    ITA  

任何帮助都会超级棒!


斯蒂芬大帝
浏览 95回答 1
1回答

慕田峪4524236

从我的评论中详细阐述了一下:您可以首先将所有数据帧与 合并,然后选择匹配的行并从中创建新的数据帧:pd.concat()merged_frame = pd.concat(df_countries)country_dict = {}for country in country_names:    country_dict[country] = merged_frame[merged_frame['Country'] == country](可选)您还可以调用来修复新帧的索引。country_dict[country].reset_index()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python