Seite 1 von 1

Pandas NAN Problem

Verfasst: Sonntag 22. November 2020, 01:57
von Bl3nder
Schönen guten Tag,

Ich habe folgendes Problem ICh lese eine Datei ein ( diese ist nicht direkt eine CSV sondern eine WRT Datei jedoch funktioniert das alles...

Ich möchte ein Datum als Date_Range setzten und mit meinen Messdaten verbinden das ICh zum Beispiel eine Uhrzeit danach abfragen kann und den dazugehörigen Messwert erhalte jedoch bekomme ICh wenn Ich das Versuche als Ausgabe ( mein Datum und plötzlich sind alle Messwerte NAN ( was Sie vorher nicht waren) wenn Ich dann prüfe ob Sie True oder False sind sehe ICh das alle Messwerte False nicht was Ich nicht verstehe und ich weiß nicht wie Ich das geändert bekomme:

Code: Alles auswählen

import pandas as pd
from pathlib import Path








#Pfade:
ORDNER_MIT_DATEN=Path(r"C:\Users\Marcel\Desktop\Dieter_Klimareport\Dieter_Auswertung\Fertigdaten_2020_02.wrt")

#Kanal-Nummern:
LUFTTEMPERATUR = 3
RELATIVE_LUFTFEUCHTIGKEIT = 290
MAX_TEMPERATUR = 250
MIN_TEMPERATUR = 249
NIEDERSCHLAG = 262
SONNENSCHEINDAUER = 19
MAX_WIND = 140
WINDRICHTUNG = 74



def daten_einlesen(daten):
    """Hier werden die Daten eingelesen und zurückgegeben"""
    daten = pd.read_csv(daten,header = None,sep = "|",low_memory = False)
    return daten

def anfang_und_ende_ermitteln(daten):
    """Hier wird das Anfangs und Enddatum ermittelt"""


    #return str(daten.iloc[0,0]).split(" ")[1]

    return pd.DataFrame(daten).iloc[:,0],pd.DataFrame(daten).iloc[0,0],pd.DataFrame(daten).iloc[-1,0]


def messdaten_zusammenfuehren(datum,Messdaten):

    test = pd.period_range("2020-02","2020-03",freq = "T")
    dft = pd.Series(Messdaten,index = test)
    print(dft.T)






def lufttemperatur(daten,kanal_nummer,datum):
    """Es werden die Messdaten übergeben und mit hilfe der Kanalnummer die benötigte Spalte extrahiert
    danach werden die Daten und das Datum zusammengesetzt """



    Lufttemperatur_extrahieren = daten.iloc[:,kanal_nummer]
    print(Lufttemperatur_extrahieren ==1)
    Lufttemperatur_mit_Datum = messdaten_zusammenfuehren(datum,Lufttemperatur_extrahieren)
    print(Lufttemperatur_mit_Datum)



def main():
    AUSGELESENE_DATEN = daten_einlesen(ORDNER_MIT_DATEN)
    GESSAMT_DATUM,ANFANGS_DATUM,END_DATUM = anfang_und_ende_ermitteln(AUSGELESENE_DATEN)

    #DATUM_OHNE_ZEIT = anfang_und_ende_ermitteln(AUSGELESENE_DATEN)
    DATEN_LUFTTEMPERATUR = lufttemperatur(AUSGELESENE_DATEN,LUFTTEMPERATUR,GESSAMT_DATUM)



if __name__=="__main__":
    main()


Die Daten sind ein bisschen größer der Link : https://www.file-upload.net/download-14 ... 2.wrt.html

Re: Pandas NAN Problem

Verfasst: Sonntag 22. November 2020, 13:03
von Bl3nder
OK habe es hin bekommen trotzdem danke :)

Re: Pandas NAN Problem

Verfasst: Sonntag 22. November 2020, 13:43
von Sirius3
@Bl3nder: Variablennamen werden komplett klein geschrieben, also alles was in main steht auch. Nur Konstanten schreibt man GROSS.
In anfang_und_ende_ermitteln wandelst Du daten drei mal in ein DataFrame, obwohl das schon einer ist.

Code: Alles auswählen

def anfang_und_ende_ermitteln(daten):
    """Hier wird das Anfangs und Enddatum ermittelt"""
    zeiten = daten.iloc[:, 0]
    return zeiten, zeiten[0], zeiten[-1]
Anfangs- und Enddatum werden aber dann gar nicht benutzt.
`lufttemperatur` hat keinen Rückgabewert, aber wird in main trotzdem einer Variable zugewiesen.