ich importiere das "planets" dataset von pandas.
Code: Alles auswählen
planets= sns.load_dataset("planets")
Code: Alles auswählen
decade= 10*(planets["year"]//10)
print(decade)
decade= decade.astype(str)+"s"
decade.name= "decade"
print(planets.groupby(["method",decade])["number"].sum().unstack().fillna(0))
Code: Alles auswählen
decade 1980s 1990s 2000s 2010s
method
Astrometry 0.0 0.0 0.0 2.0
Eclipse Timing Variations 0.0 0.0 5.0 10.0
Imaging 0.0 0.0 29.0 21.0
Microlensing 0.0 0.0 12.0 15.0
Orbital Brightness Modulation 0.0 0.0 0.0 5.0
Pulsar Timing 0.0 9.0 1.0 1.0
Pulsation Timing Variations 0.0 0.0 1.0 0.0
Radial Velocity 1.0 52.0 475.0 424.0
Transit 0.0 0.0 64.0 712.0
Transit Timing Variations 0.0 0.0 0.0 9.0
1.Es wird also sozusagen zuerst nach "method" (Y-Richtung) aufgeteilt und dann nach decade (X-Richting).
was mich nun aber wirklich verwirrt ist:
Wenn ich das Argument decade aus der List entferne
Code: Alles auswählen
planets.groupby(["method"])["number"].sum().unstack().fillna(0))
Code: Alles auswählen
AttributeError: 'Index' object has no attribute 'labels'
WARUM????
Ich habe doch nichts gemacht als die "X-Richtung" entfernt. Ich müsste aber doch dennoch die Summe der Nummern von "Astronomie", "Eclipse Timing Variations",... bilden und ausgeben können?
Kann mir das jemand bitte in möglichst bildlichen Sätzen erklären??