在python

时间:2018-03-28 15:43:40

标签: python python-3.x pandas

我正在学习python和pandas,在尝试对数据框进行子集时遇到错误。

我有一个输入数据框:

df0-
    Index   Group   Value
    1       A       10
    2       A       15
    3       B       20
    4       C       10
    5       C       10

    df0.dtypes-
    Group   object
    Value   float64

我正在尝试根据Group列拆分为唯一值。输出看起来像这样:

df1-
Index   Group   Value
1       A       10
2       A       15

df2-
Index   Group   Value
3       B       20

df3-
Index   Group   Value
4       C       10
5       C       10

到目前为止,我已将此代码编写为输入的子集:

UniqueGroups = df0['Group'].unique().tolist()
OutputFrame = {}
for x in UniqueAgencies:          
    ReturnFrame[str('ConsolidateReport_')+x] = UniqueAgencies[df0['Group']==x]

上面的代码返回以下错误,我无法解决这个问题。有人能指出我正确的方向吗?

*** TypeError: list indices must be integers or slices, not str

1 个答案:

答案 0 :(得分:1)

您可以使用groupby对列进行分组

for _, g in df0.groupby('Group'):
  print g