2014-11-23 111 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