You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/el/2-farm/lessons/1-predict-plant-growth/code-notebook/gdd.ipynb

167 lines
6.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Ημέρες Αθροιστικής Θερμοκρασίας\n",
"\n",
"Αυτό το σημειωματάριο φορτώνει δεδομένα θερμοκρασίας αποθηκευμένα σε ένα αρχείο CSV και τα αναλύει. Δημιουργεί γραφήματα των θερμοκρασιών, δείχνει τη μέγιστη και ελάχιστη τιμή για κάθε ημέρα και υπολογίζει τις ΗΑΘ.\n",
"\n",
"Για να χρησιμοποιήσετε αυτό το σημειωματάριο:\n",
"\n",
"* Αντιγράψτε το αρχείο `temperature.csv` στον ίδιο φάκελο με αυτό το σημειωματάριο\n",
"* Εκτελέστε όλα τα κελιά χρησιμοποιώντας το κουμπί **▶︎ Εκτέλεση** παραπάνω. Αυτό θα εκτελέσει το επιλεγμένο κελί και στη συνέχεια θα προχωρήσει στο επόμενο.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Στο παρακάτω κελί, ορίστε την `base_temperature` στη βασική θερμοκρασία του φυτού.\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"base_temperature = 10"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Το αρχείο CSV πρέπει τώρα να φορτωθεί, χρησιμοποιώντας pandas\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Read the temperature CSV file\n",
"df = pd.read_csv('temperature.csv')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plt.figure(figsize=(20, 10))\n",
"plt.plot(df['date'], df['temperature'])\n",
"plt.xticks(rotation='vertical');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Μόλις διαβαστούν τα δεδομένα, μπορούν να ομαδοποιηθούν κατά τη στήλη `date`, και να εξαχθούν οι ελάχιστες και μέγιστες θερμοκρασίες για κάθε ημερομηνία.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Convert datetimes to pure dates so we can group by the date\n",
"df['date'] = pd.to_datetime(df['date']).dt.date\n",
"\n",
"# Group the data by date so it can be analyzed by date\n",
"data_by_date = df.groupby('date')\n",
"\n",
"# Get the minimum and maximum temperatures for each date\n",
"min_by_date = data_by_date.min()\n",
"max_by_date = data_by_date.max()\n",
"\n",
"# Join the min and max temperatures into one dataframe and flatten it\n",
"min_max_by_date = min_by_date.join(max_by_date, on='date', lsuffix='_min', rsuffix='_max')\n",
"min_max_by_date = min_max_by_date.reset_index()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Η GDD μπορεί να υπολογιστεί χρησιμοποιώντας την τυπική εξίσωση GDD\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def calculate_gdd(row):\n",
" return ((row['temperature_max'] + row['temperature_min']) / 2) - base_temperature\n",
"\n",
"# Calculate the GDD for each row\n",
"min_max_by_date['gdd'] = min_max_by_date.apply (lambda row: calculate_gdd(row), axis=1)\n",
"\n",
"# Print the results\n",
"print(min_max_by_date[['date', 'gdd']].to_string(index=False))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Αποποίηση ευθύνης**: \nΑυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.1"
},
"metadata": {
"interpreter": {
"hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49"
}
},
"coopTranslator": {
"original_hash": "8fcf954f6042f0bf3601a2c836a09574",
"translation_date": "2025-08-27T22:15:16+00:00",
"source_file": "2-farm/lessons/1-predict-plant-growth/code-notebook/gdd.ipynb",
"language_code": "el"
}
},
"nbformat": 4,
"nbformat_minor": 2
}