Pandas 如何从n列的数据帧创建n个数据帧?
假设您有一个包含n列的dataframe,并希望创建n个dataframe。每个新数据帧将包含所有值属于列的,将被称为列。 例如: 输出: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 对于名称未知的具有大量列的数据帧,寻求一种高效且可外极化的方法。 因此,您必须从每个列的名称中扣除每
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