2014-11-23 112 views
1

我有一个groupby,我想将groupby(无计数,总和等)转换为Dataframe,然后将其导出为CSV。Groupby to csv文件

这实质上就是找到几列数据中的所有独特组合。如果没有使用groupby比较容易,我也可以。

我尝试使用reset_index()并得到以下消息。

AttributeError: Cannot access callable attribute 'reset_index' of 'DataFrameGroupBy' objects, try using the 'apply' method 

data = pd.DataFrame([['a','z'],['a','y'],['b','y'],['a','y']],columns=['one','two']) 
gb = data.groupby(['one','two'])['one'].count() 

我只是想输出一个3行DataFrame与“一”和“两个”的独特组合。

+0

我们可以看到输入和输出数据的一些例子吗?最好输入应该是可复制的,所以我们可以直接粘贴到Python控制台并开始使用它。 – Marius 2014-11-23 23:26:55

+0

太棒了,这些小模拟数据集使答案更加容易。 – Marius 2014-11-23 23:38:41

回答

1

如果你只是想从两列的独特组合,呼吁这些列drop_duplicates()

unique_combs = data[['one', 'two']].drop_duplicates() 

unique_combs 
Out[32]: 
    one two 
0 a z 
1 a y 
2 b y 
+0

我不知道为什么没有点击。我甚至在我的代码中使用了其他地方。有点尴尬的说实话,但也许这篇文章会帮助其他人某个时候。 – Chris 2014-11-23 23:39:12

+0

@Chris每当我想要这样做时,我总是先尝试'.unique()',然后记住它只存在于系列而不是数据框。我只记得在第二次尝试时使用'drop_duplicates()'。 – Marius 2014-11-23 23:42:24

+0

我做同样的事情。我最终尝试np.unique(df)。很高兴听到其他人犯同样的错误我做:) – Chris 2014-11-23 23:57:54