Code mit zwei for Schleifen zu langsam
Verfasst: Dienstag 10. August 2021, 13:16
Folgender Code ist zu langsam bei einer langen csv Datei:
Mir wäre schon viel geholfen, wenn ich die zweite Schleife erst dort einsetzen lasse wo sich die erste Schleife befindet?
Oder gibt es für csv Dateien Funktionen, mit denen man zu einem gleichen Datum den zugehörigen minimalen Wert ausgeben kann?
Code: Alles auswählen
import pandas as pd
from datetime import date
df = pd.read_csv('data/C2A2_data/BinnedCsvs_d400/fb441e62df2d58994928907a91895ec62c2c42e6cd075c2700843b89.csv')
data_low =[]
data_high = []
value_low =[]
value_high = []
second_date = date(2015,1,1)
for index, row in df.iterrows():
fd = row["Date"].split("-")
first_date = date(int(fd[0]), int(fd[1]), int(fd[2]))
if first_date < second_date and row["Element"] == "TMIN":
if first_date not in data_low:
data_low.append(first_date)
v_l = 1000
for index, row in df.iterrows():
fd_intern = row["Date"].split("-")
first_date_intern = date(int(fd[0]), int(fd[1]), int(fd[2]))
if first_date_intern == first_date:
if row["Data_Value"] < v_l:
v_l = row["Data_Value"]
value_low.append(v_l)
print ("Data size ist:", len(data_low))
print ("Value Size ist:", len(value_low))
Oder gibt es für csv Dateien Funktionen, mit denen man zu einem gleichen Datum den zugehörigen minimalen Wert ausgeben kann?