如果你有一只熊猫DataFrame({'a':[1,2,3,4,5,6,7,8,9]})
有没有简单的方法将它分组为3个或任意数量的组?熊猫数据框组由多行
我知道这可以通过添加一个包含允许分组的值的额外列来完成,例如,您可以将上述数据框加入[1,1,1,2,2,2,3,3,3]
,并通过添加列加入group。但似乎应该不需要为此操作添加额外的列。
另外,我可以创建一个索引数组并循环使用它们作为DataFrame.ix []的参数的数组值,但对于大型DataFrame而言似乎并不快。
我错过了一个更简单的方法吗?
== ==方案
从下面我的首选解决方案的答案是使用numpy.array_split(如果一个不平等分工不同numpy.split使它不会引发异常),您还可以通过要分割的索引数组而不是所需的结果数量。与线下面你可以分割一个数据帧(DF)为x行
split_df = np.array_split(df, np.arange(0, len(df),x))
的split_df小DataFrames是一个列表,其中所述第一对象是一个空numpy的阵列与以下对象是分裂DataFrames。
谢谢,我之前没有注意到np.split。 – seumas 2013-03-13 09:42:08