ich bekomme .count nicht zum laufen

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
Mungo
User
Beiträge: 1
Registriert: Freitag 9. Juli 2021, 09:00

Hallo,

ich bin noch ganz neu in python, also wahrscheinlich ist das eine sehr doofe Frage, aber ich tue jetzt schon ewig dran herum und deshalb hoffe ich hier auf Unterstützung.

Ich habe eine csv Datei geladen und will nun an dieser folgenden Code ausführen:

Code: Alles auswählen

badbuy = mydataset_df["IsBadBuy"].count(1)
print(badbuy)
Dabei ist in meinem zuvor geladenen Dataset die Spalte "IsBadBuy", die nur mit "0" und "1" befüllt ist, auszulesen, wie oft dort eine 1 vorkommt.
Wenn ich keinen Wert in die Klammer schreibe, dann gibt es mir eine Antwort, aber sobald in der Klammer was steht, bekomme ich eine Fehlermeldung, die ich aber nicht lesen kann (weil ich echt erst ganz neu bin).

Code: Alles auswählen

KeyErrorTraceback (most recent call last)
<ipython-input-73-93f9d15d1b5d> in <module>()
      1 #Das funktioniert leider nicht, warum auch immer. Sobald in der klammer nach "count" ein Wert steht, geht es nicht mehr
----> 2 badbuy = mydataset_df["IsBadBuy"].count("0")
      3 print(badbuy)

/opt/dataiku/dataiku-dss-9.0.3/python.packages/pandas/core/series.pyc in count(self, level)
   1419 
   1420         if isinstance(level, compat.string_types):
-> 1421             level = self.index._get_level_number(level)
   1422 
   1423         lev = self.index.levels[level]

/opt/dataiku/dataiku-dss-9.0.3/python.packages/pandas/core/indexes/base.pyc in _get_level_number(self, level)
   1959 
   1960     def _get_level_number(self, level):
-> 1961         self._validate_index_level(level)
   1962         return 0
   1963 

/opt/dataiku/dataiku-dss-9.0.3/python.packages/pandas/core/indexes/base.pyc in _validate_index_level(self, level)
   1956         elif level != self.name:
   1957             raise KeyError('Level %s must be same as name (%s)' %
-> 1958                            (level, self.name))
   1959 
   1960     def _get_level_number(self, level):

KeyError: 'Level 0 must be same as name (None)'

Kann mir bitte irgendwer sagen, was ich falsch mache?

Danke,
Mungo
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Hast du mal die Dokumentation zu count gelesen? https://pandas.pydata.org/docs/referenc ... count.html

Da steht, welche Argumente das annimmt. Keines davon bezieht sich auf die tatsaechlichen Werte in deinem DataFrame.

Wenn du also bezogen auf Werte zaehlen willst, dann musst du den Frame erstmal danach filtern, und auf dem Ergebnis zaehlen.
Antworten