6
我有一个大型数据集,列出了全国不同地区出售的竞争对手产品。我期望通过使用这些新数据框名称内的列值的迭代过程,基于该区域将此数据框拆分为多个其他数据框,以便我可以分别处理每个数据框 - 例如,按价格对每个地区的信息进行分类,以了解每个市场的情况。我给出的数据下面的简化版本:Python - 根据列值将数据帧拆分为多个数据框并用这些值命名它们
region_list=df['Region'].unique().tolist()
这一点我希望在生成一个迭代循环使用:
Competitor Region ProductA ProductB
Comp1 A £10 £15
Comp1 B £11 £16
Comp1 C £11 £15
Comp2 A £9 £16
Comp2 B £12 £14
Comp2 C £14 £17
Comp3 A £11 £16
Comp3 B £10 £15
Comp3 C £12 £15
我可以使用下面的创建区域的列表一些数据帧,例如
df_A :
Competitor Region ProductA ProductB
Comp1 A £10 £15
Comp2 A £9 £16
Comp3 A £11 £16
我可以为每个区域手动执行此操作,用代码
df_A=df.loc[df['Region']==A]
但现实情况是,这个数据集有大量的这将使该代码繁琐的地区。有没有创建一个迭代循环来复制这个的方法?有一个类似的问题,即询问有关拆分数据帧的问题,但答案并未显示如何根据每个列值标记输出。
我对Python很陌生,仍在学习,所以如果实际上有一种不同的,更明智的方法来处理这个问题,我非常乐于接受这些建议。
更好'dict_of_regions = {K:v对于K,V中df.groupby( '区')}' – piRSquared