假设原始数据如下:
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)
(参考:Python-根据列值将数据框拆分为多个数据框,并使用这些值命名)
我希望获得基于列值的子数据框列表,例如Region,例如:
df_A :
Competitor Region ProductA ProductB
Comp1 A £10 £15
Comp2 A £9 £16
Comp3 A £11 £16
Run Code Online (Sandbox Code Playgroud)
在Python中,我可以这样做:
for region, df_region in df.groupby('Region'):
print(df_region)
Run Code Online (Sandbox Code Playgroud)
如果df是Pyspark df,我可以做同样的迭代吗?
在Pyspark中,一旦执行df.groupBy(“ Region”),我就会获得GroupedData。我不需要像count,mean等之类的任何聚合。我只需要子数据帧的列表,每个子数据帧都有相同的“ Region”值。可能?