我有一个大型数据集,列出了在全国不同地区销售的竞争对手产品。我希望通过使用这些新数据帧名称中的列值的迭代过程,根据区域将该数据帧分成几个其他区域,以便我可以分别处理每个数据帧-例如根据价格对每个地区的信息进行排序,以了解每个地区的市场情况。我给出了以下数据的简化版本:
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
循环遍历各个组,则语法为:
for region, df_region in df.groupby('Region'):
print(df_region)
Competitor Region ProductA ProductB
0 Comp1 A £10 £15
3 Comp2 A £9 £16
6 Comp3 A £11 £16
Competitor Region ProductA ProductB
1 Comp1 B £11 £16
4 Comp2 B £12 £14
7 Comp3 B £10 £15
Competitor Region ProductA ProductB
2 Comp1 C £11 £15
5 Comp2 C £14 £17
8 Comp3 C £12 £15
pandas DataFrame:根据另一列中的布尔值计算总和 - python我对Python相当陌生,我尝试在pandas中模拟以下逻辑我目前正在循环抛出行,并希望对前几行的AMOUNT列中的值求和,但只求和最后一次看到的“ TRUE”值。实际数据似乎效率低下(我的数据框大约有500万行)?想知道用Python处理这种逻辑的有效方法是什么?逻辑:逻辑是,如果FLAG为TRUE,我想对前几行的AMOUNT列中的值求和,但只求和最后一次…
Pandas Dataframe:在越来越多的列上循环并计算均值和标准差 - python基本上,我有一个包含20个属性和一个值的表。我想找到std = 0-(即粒度级别完美允许1:1)所需的最少数量的属性。我想建立一个循环如果使用列名进行硬编码,则看起来像这样:for iter in range(1,21): dfcalc = df.groupby("LINE_NUM")["RATIO"].agg([np…
pandas.DataFrame.replace更改列的dtype - python因此,我试图用np.nan替换数据框中的None值,并注意到在此过程中,即使数据框中的float列的数据类型不包含任何丢失的数据,它们也都更改为object。举个例子:import pandas as pd import numpy as np data = pd.DataFrame({'A':np.nan,'B':1…
重命名默认ID python - python我想连接两个dataFrames,但是两个数据具有不同的ID,所以结果是错误的这是我的代码data=pd.DataFrame(df.columns) data1=data.drop(axis=1,index=[0,1,2,3]).transpose() data1 这是dataframe1另一个数据框:y=sma_algo(df.loc['H+L&…
Python GPU资源利用 - python我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…