2016-07-29 4 views
0

Ich versuche, eine einfache groupby in Pandas zu tun, und es funktioniert nicht, wie es sollte:Pandas: groupby nach Datum und verwandeln Nunique Rückkehr zu viele Einträge

url='https://raw.githubusercontent.com/108michael/ms_thesis/master/raw_bills' 

bills=pd.read_csv(url) 
bills.date.nunique() 
11 
bills.dtypes 

date   float64 
bills   object 
id.thomas  int64 
dtype: object 

bills[['date', 'bills']].groupby(['date']).bills.transform('nunique') 

0  3627 
1  7454 
2  7454 
3  7454 
4  3627 
5  7454 
6  7454 
7  3627 
8  7454 
9  7454 
10  3627 
11  7454 
12  7454 
13  7454 
14  7454 
15  7454 
16  3627 
17  3627 
18  7454 

Ich habe diese Art getan von Vorbei, und es funktioniert normalerweise gut.

Irgendwelche Vorschläge dazu?

Antwort

1

Ich bin nicht sicher, was Sie fragen, aber Sie nicht verwenden möchten:

bills[['date', 'bills']].groupby('date').bills.nunique() 

date 
2005.0 6820 
2006.0 3738 
2007.0 7454 
2008.0 3627 
2009.0 7324 
2010.0 3297 
2011.0 5787 
2012.0 4647 
2013.0 5694 
2014.0 3211 
2015.0  5 
Name: bills, dtype: int64 
+0

Danke: Es kommt fast immer auf eine Frage der Syntax! OY! Danke ein Haufen –

+1

@MichaelPerdue kein Problem! Akzeptiere die Antwort, wenn sie deinen Pb löst! – jrjc