使用多个列值创建多个数据帧并相应地命名

2024-09-22 10:30:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我想基于2列创建多个数据帧,即:

Col1    Col2
  Fr         DK
 Fr      IE
  Fr    IE
  Fr    SE
  Fr    SE
  Fr    SE
  Po    DK
  Po    IE
  Po    IE
  Po    SE
  Po    SE
  Po    SE
  Hk    DK
  Hk    IE
  Hk    IE
  Hk    SE
  Hk    SE
  Hk    SE
  Hk    DK
  Hk    IE

我需要基于col1&;col2即

df_1

Col1    Col2
  Fr         DK

df_2

Col1    Col2
  Fr         IE
  Fr         IE

&;以此类推

怎样才能做到呢

我使用的是:

#create unique list of names
 UniqueNames = ["Fr","Po"]

#create a data frame dictionary to store your data frames
DataFrameDict = {elem : pd.DataFrame for elem in UniqueNames}

for key in DataFrameDict.keys():
    DataFrameDict[key] = df[:][df.col2 == key]

但这只允许我基于1列进行操作。如何使用多列&;我如何介绍他们

我得到一个数据帧 DataFrameDict[“Fr”]

enter image description here

然而,我希望基于col1&;创建单独的数据帧;可乐2。有没有一种方法可以通过设置字典来通过循环,如下所示:

UniqueNames = {col1:["Fr","Po"],
               col2:["IE","SE"]}

Tags: 数据dffrpoiecol2col1amp