我正在学习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
答案 0 :(得分:1)
您可以使用groupby对列进行分组
for _, g in df0.groupby('Group'):
print g