Sto iniziando con i dati di input come questoConversione di un oggetto Pandas GroupBy a dataframe
df1 = pandas.DataFrame({
"Name" : ["Alice", "Bob", "Mallory", "Mallory", "Bob" , "Mallory"] ,
"City" : ["Seattle", "Seattle", "Portland", "Seattle", "Seattle", "Portland"] })
Quali quando stampato appare come questa:
City Name
0 Seattle Alice
1 Seattle Bob
2 Portland Mallory
3 Seattle Mallory
4 Seattle Bob
5 Portland Mallory
raggruppamento è abbastanza semplice:
g1 = df1.groupby([ "Name", "City"]).count()
e la stampa produce un oggetto GroupBy
:
City Name
Name City
Alice Seattle 1 1
Bob Seattle 2 2
Mallory Portland 2 2
Seattle 1 1
Ma quello che voglio alla fine è un altro oggetto DataFrame che contiene tutte le righe nell'oggetto GroupBy. In altre parole, voglio ottenere il seguente risultato:
City Name
Name City
Alice Seattle 1 1
Bob Seattle 2 2
Mallory Portland 2 2
Mallory Seattle 1 1
non riesco a vedere come realizzare questo nella documentazione panda. Qualsiasi suggerimento sarebbe benvenuto.
Grande risposta. Il secondo caso che hai mostrato con una singola colonna "count" era esattamente * quello di cui avevo bisogno. – saveenr
'reset.index()' fa il lavoro, ottimo! – gented
Si potrebbe avere usato: 'df1.groupby ([" Nome "," Città "]) .size(). To_frame (name = 'count'). Reset_index()' –