Pandas 如何从n列的数据帧创建n个数据帧?

Pandas 如何从n列的数据帧创建n个数据帧?,pandas,Pandas,假设您有一个包含n列的dataframe,并希望创建n个dataframe。每个新数据帧将包含所有值​​属于列的,将被称为列。 例如: 输出: cities games jobs 0 Londres Fornite engineers 1 Paris mw2 programmers jobs 0 engineers 1 programmers 对于名称未知的具有大量列的数据帧,寻求一种高效且可外极化的方法。 因此,您必须从每个列的名称中扣除每

假设您有一个包含n列的dataframe,并希望创建n个dataframe。每个新数据帧将包含所有值​​属于列的,将被称为列。

例如:

输出:

    cities  games   jobs
0   Londres Fornite engineers
1   Paris   mw2     programmers
    jobs
0   engineers
1   programmers
对于名称未知的具有大量列的数据帧,寻求一种高效且可外极化的方法。 因此,您必须从每个列的名称中扣除每个新数据帧的名称

所需离港时间:

cities
输出:


输出:


输出:

    cities  games   jobs
0   Londres Fornite engineers
1   Paris   mw2     programmers
    jobs
0   engineers
1   programmers

我想创建一个新的
DataFrame
,其名称或引用是
df.columns
中包含的str。最简单的方法是创建一个字典,其中键是dataframes/列名,值是实际的dataframes:

dfs = {f'{col}':df[col].to_frame() for col in df.columns}
现在我们可以访问每个数据帧:

          jobs
0    engineers
1  programmers

dfs['games']
     games
0  Fornite
1      mw2

df['jobs']
          jobs
0    engineers
1  programmers

这与仅仅调用
df['cities']
etc不一样吗?问题是,您需要仅通过运行
jobs
game
等来访问对象。如果没有这一点,这将是一个微不足道的问题。为什么您希望使用perse,将其存储在字典中更有意义@lostCode
    jobs
0   engineers
1   programmers
dfs = {f'{col}':df[col].to_frame() for col in df.columns}
          jobs
0    engineers
1  programmers

dfs['games']
     games
0  Fornite
1      mw2

df['jobs']
          jobs
0    engineers
1  programmers