我有一个大数据集,列出了在全国不同地区销售的竞争对手产品。我希望通过在这些新数据帧的名称中使用列值的迭代过程,根据区域将此数据帧拆分为其他几个数据帧,以便可以分别处理每个数据帧-例如,按价格对每个区域中的信息进行排序,以了解每个区域中的市场情况。我给出了以下数据的简化版本:
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
我可以使用以下命令创建区域列表:
region_list=df['Region'].unique().tolist()
我希望在产生大量数据帧的迭代循环中使用它
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还很陌生,而且还在学习,所以如果真的有一种不同的、更明智的方法来解决这个问题,我非常愿意接受建议。
按不同值进行子集设置称为
groupby
,如果只想使用for
循环遍历组,则语法为:相关问题 更多 >
编程相关推荐