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/fi/2-farm/lessons/1-predict-plant-growth/code-notebook/gdd.ipynb

167 lines
4.8 KiB

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Kasvukauden lämpösumma\n",
"\n",
"Tämä muistikirja lataa CSV-tiedostoon tallennetut lämpötilatiedot ja analysoi ne. Se piirtää lämpötilat, näyttää kunkin päivän korkeimman ja matalimman arvon sekä laskee kasvukauden lämpösumman (GDD).\n",
"\n",
"Tämän muistikirjan käyttö:\n",
"\n",
"* Kopioi `temperature.csv`-tiedosto samaan kansioon kuin tämä muistikirja\n",
"* Suorita kaikki solut käyttämällä **▶︎ Run**-painiketta yläpuolella. Tämä suorittaa valitun solun ja siirtyy seuraavaan.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Aseta alla olevassa solussa `base_temperature` kasvin peruslämpötilaksi.\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"base_temperature = 10"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"CSV-tiedosto täytyy nyt ladata pandas-kirjaston avulla\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": [
"Kun tiedot on luettu, ne voidaan ryhmitellä `date`-sarakkeen mukaan, ja jokaiselle päivämäärälle voidaan poimia vähimmäis- ja enimmäislämpötilat.\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 voidaan laskea käyttämällä standardia GDD-yhtälöä\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**Vastuuvapauslauseke**: \nTämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.\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-27T23:06:02+00:00",
"source_file": "2-farm/lessons/1-predict-plant-growth/code-notebook/gdd.ipynb",
"language_code": "fi"
}
},
"nbformat": 4,
"nbformat_minor": 2
}