fix:memperbaiki API predict tomat dan price tomat

This commit is contained in:
muhamad fais aizat 2025-03-29 10:41:37 +07:00
parent 7e613ec9eb
commit dfd814a152
4 changed files with 5 additions and 2 deletions

View File

@ -240,7 +240,7 @@ def get_price_history(
last_data = pd.DataFrame([X.iloc[-1].values], columns=X.columns) # ✅ Gunakan DataFrame
predictions = []
for _ in range(30):
for _ in range(7):
pred = svr.predict(last_data)[0]
predictions.append(pred)

View File

@ -85,8 +85,11 @@ async def upload_file(file: UploadFile = File(...), db=Depends(get_db)):
required_columns = {"tanggal", "pasar_bandung", "pasar_ngunut", "pasar_ngemplak", "ratarata_kemarin", "ratarata_sekarang"}
if not required_columns.issubset(df.columns):
raise HTTPException(status_code=400, detail=f"Kolom wajib: {required_columns}")
df["tanggal"] = pd.to_datetime(df["tanggal"], format="%d/%m/%Y", errors="coerce").dt.strftime("%Y-%m-%d")
df["tanggal"] = pd.to_datetime(df["tanggal"], format="%Y-%m-%d", errors="coerce").dt.strftime("%Y-%m-%d")
df.dropna(subset=["tanggal"], inplace=True)
df.replace(["N/A", "NA", "null", "None", "-", ""], 0, inplace=True) # Ganti yang tidak valid jadi 0
df.fillna(0, inplace=True) # Ubah semua NaN jadi 0
def clean_price(value):
if pd.isna(value) or value == "":
return None