首页 > 解决方案 > 将 Pandas 数据框拆分为子数据框(不是数据框列表)

问题描述

我正在尝试将数据框拆分为尽可能多的不同数据框,并根据拆分的信息设置新数据框的名称。

前任:

将此数据框称为“df”

Name    ID    Number    Code    Name2
123     cp1    500      ABC      456
123     cp1    501      DEF      456

我正在尝试根据“数字”将此数据帧拆分为块,然后相应地重命名这些新数据帧。

结果如下所示:

df500:
Name    ID    Number    Code    Name2
123     cp1    500      ABC      456

df501:
Name    ID    Number    Code    Name2
123     cp1    501      DEF      456

熊猫允许这样做吗?

标签: pythonpandas

解决方案


通过分组创建字典:

d={'df_{}'.format(i):g for i,g in df.groupby('Number')}

{'df_500':    Name   ID  Number Code  Name2
 0   123  cp1     500  ABC  456.0, 'df_501':    Name   ID  Number Code  Name2
 1   123  cp1     501  DEF    NaN}

然后,您可以调用 dict 的键,例如:

print(d['df_500'])

   Name   ID  Number Code  Name2
0   123  cp1     500  ABC  456.0

推荐阅读