相关疑难解决方法(0)

Python - 根据列值将数据帧拆分为多个数据帧,并使用这些值命名

我有一个大型数据集,列出了全国不同地区的竞争产品.我希望通过使用这些新数据帧名称中的列值的迭代过程将此数据帧拆分为基于该区域的其他几个数据帧,以便我可以单独使用每个数据框 - 例如,按价格对每个区域中的信息进行排序以了解每个市场的情况如何.我已经给出了以下数据的简化版本:

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
Run Code Online (Sandbox Code Playgroud)

我可以使用以下内容创建区域列表:

region_list=df['Region'].unique().tolist()
Run Code Online (Sandbox Code Playgroud)

我希望在一个产生大量数据帧的迭代循环中使用它,例如

df_A :

Competitor  Region  ProductA  ProductB
Comp1       A       £10       £15
Comp2       A       £9        £16
Comp3       A       £11       £16
Run Code Online (Sandbox Code Playgroud)

我可以使用代码手动为每个区域执行此操作

df_A=df.loc[df['Region']==A]
Run Code Online (Sandbox Code Playgroud)

但实际情况是,这个数据集有很多区域会使这段代码繁琐.有没有办法创建一个可以复制它的迭代循环?有一个类似的问题,询问有关拆分数据帧的问题,但答案并未说明如何根据每个列值标记输出.

我对Python很陌生并且还在学习,所以如果实际上有一种不同的,更明智的方法来解决这个问题,我会非常乐于接受建议.

python dataframe pandas

27
推荐指数
1
解决办法
3万
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1