Wie wähle man Spalten aus groupby-Objekt in Pandas aus?

Ich gruppierte mein Dataframe nach den beiden Spalten unten

df = pandas.DataFrame({"a":[1,1,3], "b":[4,5.5,6], "c":[7,8,9], "name":["hello","hello","foo"]}) df.groupby(["a", "name"]).median() 

Und das Ergebnis ist:

  bc a name 1 hello 4.75 7.5 3 foo 6.00 9.0 

Wie kann ich auf das Namensfeld des resultierenden Medians zugreifen (in diesem Fall hello, foo )? Das scheitert:

 df.groupby(["a", "name"]).median().name 

3 Solutions collect form web for “Wie wähle man Spalten aus groupby-Objekt in Pandas aus?”

Sie müssen die Indexwerte erhalten, sie sind keine Spalten. In diesem Fall Stufe 1

 df.groupby(["a", "name"]).median().index.get_level_values(1) Out[2]: Index([u'hello', u'foo'], dtype=object) 

Sie können auch den Indexnamen übergeben

 df.groupby(["a", "name"]).median().index.get_level_values('name') 

Da dies intuitiver sein wird als ganzzahlige Werte zu übergeben.

Sie können die Indexwerte in eine Liste tolist() indem Sie tolist()

 df.groupby(["a", "name"]).median().index.get_level_values(1).tolist() Out[5]: ['hello', 'foo'] 

Setzen Sie as_index = False während Groupby

 df = pandas.DataFrame({"a":[1,1,3], "b":[4,5.5,6], "c":[7,8,9], "name":["hello","hello","foo"]}) df.groupby(["a", "name"] , as_index = False).median() 

Sie können auch reset_index() auf Ihrem groupby Ergebnis zurück, um ein dataframe mit der Namensspalte zurückzuholen, die jetzt zugänglich ist.

 import pandas as pd df = pd.DataFrame({"a":[1,1,3], "b":[4,5.5,6], "c":[7,8,9], "name":["hello","hello","foo"]}) df_grouped = df.groupby(["a", "name"]).median() df_grouped.name 0 hello 1 foo Name: name, dtype: object 

Wenn Sie eine Operation auf einer einzigen Spalte durchführen, wird die Rückkehr eine Serie mit Multiindex sein und Sie können einfach pd.DataFrame darauf anwenden und dann reset_index.

  • Pandas gruppenweise prozentual
  • Wie man nur Texte in Hashtag mit Tweepy extrahiert?
  • Handlung über Boxplot mit Pandas DateFrame
  • Verwenden von Excel wie Solver in Python oder SQL
  • Gibt es eine effizientere Möglichkeit, Periodizität eines intraday OHLC DataFrame in Python umzuwandeln
  • Wie geht es mit SettingWithCopyWarning in Pandas?
  • Split pandas dataframe String Eintrag zu separaten Zeilen
  • Lesen von mehreren CSV-Dateien in Python Pandas Dataframe
  • Openpyxl: 'Worksheet' Objekt hat kein Attribut 'Werte'
  • Kombiniere zwei Pandas-Dataframes mit demselben Index
  • Plot ganze Zeile auf Pandas
  • Python ist die beste Programmiersprache der Welt.