Hello World ,
我要从一列为每个唯一值创建一个数据框。
下面是我的初始数据框。
Date Name Value
01/19 Jean 15
01/19 Jean 15
01/17 Bean 15
01/16 Bean 15
01/19 Jean 15
我发现了一些有关基于唯一值创建数据帧的答案,例如:Create Pandas DataFrames from Unique Values in one Column。
使用以下代码,我将所有内容都包含在列表中。
dfa = [x for _, x in df.groupby('name')]
dfa[0]
output
Date Name Value
01/19 Jean 15
01/19 Jean 15
01/19 Jean 15
Date Name Value
01/17 Bean 15
01/16 Bean 15
但是,我想自动分配数据框的名称,而不做:
df_Jean= df[0]
df_Bean= df[1]
下面是预期的输出
df_Jean
Date Name Value
01/19 Jean 15
01/19 Jean 15
01/19 Jean 15
答案 0 :(得分:1)
有可能,但在Python中没有recommended:
for i, g in df.groupby('name'):
globals()['df_' + str(i)] = g
或者:
for i, g in df.groupby('name'):
globals()[f'df_{i}'] = g
更好地使用dict
:
d = dict(tuple(df.groupby("Name")))
print (d['Jean'])
print (d['Bean'])