根据一列将一个表拆分为多个表

时间:2018-10-09 11:58:46

标签: python pandas

给出一个表(/ dataFrame)x:

name    day earnings    revenue
Oliver   1   100         44
Oliver   2   200         69
John     1   144         11
John     2   415         54
John     3   33          10
John     4   82          82

是否可以根据name列(充当索引)将表分为两个表,并将两个表嵌套在同一对象下(不确定要使用的确切术语)。因此,在上面的示例中,tables[0]将是:

name    day earnings    revenue
Oliver  1   100         44
Oliver  2   200         69

tables[1]将是:

name    day earnings    revenue
John    1   144         11
John    2   415         54
John    3   33          10
John    4   82          82

请注意,每个“子表”中的行数可能会有所不同。

干杯

1 个答案:

答案 0 :(得分:5)

创建DataFrames字典:

dfs = dict(tuple(df.groupby('name')))

然后通过键选择-name列的值:

print (dfs['Oliver'])
print (dfs['John'])