Pandas: Nur die Anzahl verschiedener Werte in einer Spalte ausgeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
viechdokter
User
Beiträge: 42
Registriert: Samstag 11. Dezember 2021, 20:52

Ich lerne gerade ganz neu Pandas und komme wieder einmal nicht alleine weiter. Vielleicht könnt ihr mir ja auf die Sprünge helfen...

Folgendes Szenario:

Eine mehrspaltige CSV-Datei wird in Pandas eingelesen. Eine Spalte davon enthält ein Datum. (Bisher sind nur 3 unterschiedliche Daten vertreten.) Ich möchte nur die Anzahl verschiedener Daten (Datumse? ;-) ), also bisher "3" als einzelne Zahl ausgeben, z.B. über eine Print-Anweisung:

OUT: 3 verschiedene Daten

Wenn ich df.groupby.count() benutze, wie in

Code: Alles auswählen

print(df.groupby(['date']).count(),"verschiedene Daten") 
erhalte ich statt einer einzelnen Zahl leider immer eine Tabelle:

OUT: a b c d e
date
2015-03-17 6 6 6 6 6
2015-03-18 1 1 1 1 1
2015-05-03 1 1 1 1 1 verschiedene Daten


Wenn ich nur eine einzelne Spalte zählen lasse, werden nicht 3 unterschiedliche, sondern alle 8 Daten gezählt:

Code: Alles auswählen

print(df.date.count(),"verschiedene Daten")
OUT: 8 verschiedene Daten

Auch

Code: Alles auswählen

df.nunique()
gibt eine Tabelle anstatt eines einzelnen Wertes aus.

Könnt ihr mir helfen?
Python..., wie sage ich das jetzt am besten...?
Es liegt nicht an dir. Es liegt an mir...!
Sirius3
User
Beiträge: 18279
Registriert: Sonntag 21. Oktober 2012, 17:20

Warum zählst Du mit nunique alle Spalten, wenn Dich nur die Datumsspalte interessiert?
Antworten