Matens utsläpp - Grupparbete i flera delar (2, 3)#

Innehåll#

Grupp 2 och 3 #

I diskussionen kring klimatförändring och hushåll finns det en fråga som gång på gång dyker upp: Vilken inverkan har matens ursprung på de utsläpp som orsakas av vår näring? Hur mycket skiljer sig t.ex. utsläppen som orsakas av ett paket lokalproducerat nötkött och en mexikansk avocado? Härifrån börjar vår forskning!

Er uppgift är att bekanta er med den första gruppens rapport. Därifrån bör ni få den data och information som behövs för att ni ska kunna skapa era egna diagram. Därefter får ni bekanta er med den givna filen ‘food-emissions-supply-chain.csv’, som innehåller en lista på en del livsmedel och de utsläpp som kommer av dem.

Välj ett livsmedel (Grupp 2 kan välja ett vegetariskt och grupp 3 en köttprodukt), som ni undersöker närmare genom att jämföra t.ex. transportformens inverkan på produktens totalutsläpp, då produkten fraktas från de städer som grupp 1 valt till Helsingfors. Slutligen ska ni lämna in en rapport som innehåller de diagram som behövs, inklusive tillhörande förklaringar, och svar på frågorna nedan.

Del 1: Val av produkt och transportens inverkan #

# Eleverna börjar med att läsa in rätt funktionspaket.
# Vi läser in den givna csv-filen som variabeln livsmedel.

livsmedel = pd.read_csv('https://raw.githubusercontent.com/opendata-education/Maantiede/main/materiaali/data/food-emissions-supply-chain.csv')
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Input In [1], in <cell line: 4>()
      1 # Eleverna börjar med att läsa in rätt funktionspaket.
      2 # Vi läser in den givna csv-filen som variabeln livsmedel.
----> 4 livsmedel = pd.read_csv('https://raw.githubusercontent.com/opendata-education/Maantiede/main/materiaali/data/food-emissions-supply-chain.csv')

NameError: name 'pd' is not defined
# Denna cell visar oss hela csv-filens tabell.

pd.set_option("max_rows", None)
livsmedel
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Input In [2], in <cell line: 3>()
      1 # Denna cell visar oss hela csv-filens tabell.
----> 3 pd.set_option("max_rows", None)
      4 livsmedel

NameError: name 'pd' is not defined

Nu när ni kan undersöka tabellens innehåll är det dags att välja ett intressant livsmedel att ta en närmare titt på. Därefter beräknar vi produktens CO2-utsläpp utan transportens inverkan, och sedan transportens andel av totalutsläppen.

Enheten som anges i tabellerna är kgCO2eq.

Exempel: Om CO2-utsläppen utan transportberäkning är 5 kgCO\(_2\)eq per kilogram, och frakt med tåg är 0.05 kgCO\(_2\)eq per ton och kilometer, så blir utsläppen för en produkt som fraktas 50 km totalt 5 kgCO\(_2\)eq + 0.05 kgCO\(_2\)eq * 50 (km) / 1000 (kg) = 5.0025 kgCO\(_2\)eq per kilogram.

# Vi ska skapa en tabell som innehåller informationen om er utvalda livsmedelsprodukt, olika startstäder,
# transportsträckans längd och utsläpp vid olika transportmetoder. Ni kan börja med att köra den här cellen
# direkt utan att göra ändringar, så ser ni hur tabellen utformas innan ni börjar fylla i den.


info = {'Livsmedel' : ['x', 'x', 'x', 
                                    ],  
        'Startstad' : ['Stad 1', 'Stad 2', 'Stad 3'],  
        'Avstånd till Helsingfors' : ['avstånd', 'avstånd', 'avstånd'], 
        'Utsläpp 1 (enhet)' : ['tal 1.1', 'tal 1.2', 'tal 1.3'],
        'Utsläpp 2 (enhet)' : ['tal 2.1', 'tal 2.2', 'tal 2.3'],
        'Utsläpp 3 (enhet)' : ['tal 3.1', 'tal 3.2', 'tal 3.3'],
        'Utsläpp 4 (enhet)' : ['tal 4.1', 'tal 4.2', 'tal 4.3'],}

tabell = pd.DataFrame(info)
display(tabell)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Input In [3], in <cell line: 15>()
      1 # Vi ska skapa en tabell som innehåller informationen om er utvalda livsmedelsprodukt, olika startstäder,
      2 # transportsträckans längd och utsläpp vid olika transportmetoder. Ni kan börja med att köra den här cellen
      3 # direkt utan att göra ändringar, så ser ni hur tabellen utformas innan ni börjar fylla i den.
      6 info = {'Livsmedel' : ['x', 'x', 'x', 
      7                                     ],  
      8         'Startstad' : ['Stad 1', 'Stad 2', 'Stad 3'],  
   (...)
     12         'Utsläpp 3 (enhet)' : ['tal 3.1', 'tal 3.2', 'tal 3.3'],
     13         'Utsläpp 4 (enhet)' : ['tal 4.1', 'tal 4.2', 'tal 4.3'],}
---> 15 tabell = pd.DataFrame(info)
     16 display(tabell)

NameError: name 'pd' is not defined

Lägg märke till att utsläppen i livsmedelstabellen är beräknade per kilogram livsmedel, medan transportutsläppen är angivna per ton. Varför? När passar det bättre att räkna med kilogram och när passar det bättre att räkna i ton? Varför orsakar olika livsmedel olika stora transportutsläpp?

Här mäter vi utsläpp per massaenhet, men vilka andra storheter kunde vi använda när vi jämför utsläpp?

Fundera på hur era beräknade utsläpp stämmer överens med de som finns angivna i tabellen. Är det något av era resultat som stämmer överens med det angivna värdet? Vilken transportmetod används för maten i fråga? Varför? Hur viktig är transportutsläppens andel när man beräknar matens totalutsläpp?

Del 2: Utsläppens fördelning #

Vi undersöker också utsläppens indelning enligt tabellen vi läste in i början.

# I den här cellen skapar vi de listor som behövs för att vi ska kunna
# visa hur utsläppen för vårt valda livsmedel är fördelade.


kategorier = livsmedel.columns # i 'kategorier'-variabeln sparar vi kolumnnamnen ur filen 'food-emissions-supply-chain.csv'
kategorier = kategorier[3:10] # Inom klamrarna kan vi välja vilka kolumner vi vill använda.
                              # [3:10] betyder 3 till 9, eftersom Python exkluderar den övre gränsen.
                              # t.ex. kolumn 3 = päästöt maankäytöstä osv.

print(kategorier) # Vi skriver ut listan för att kontrollera att vi fick med de rätta kolumnerna.

COvarden = livsmedel.loc[10] # Vi skapar en variabel för listan med livsmedlets utsläpp.
                            # Siffran inom klamrarna ska bytas ut mot ert valda livsmedels index. (omenat = 0, banaanit = 1...)

COvarden = COvarden[3:10] # Här väljer vi ut de värden ur listan som matchar våra valda kolumner.
print(COvarden)           # Vi skriver ut listan för att kontrollera att vi har valt rätt  värden.


summa = sum(COvarden) # Vi beräknar summan av alla värden för att använda den senare i koden.

andel = [i / summa for i in COvarden] # Vi beräknar varje värdes andel av matens totalutsläpp.

print(andel) # Vi skriver ut de beräknade andelarna av utsläppen.
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Input In [4], in <cell line: 5>()
      1 # I den här cellen skapar vi de listor som behövs för att vi ska kunna
      2 # visa hur utsläppen för vårt valda livsmedel är fördelade.
----> 5 kategorier = livsmedel.columns # i 'kategorier'-variabeln sparar vi kolumnnamnen ur filen 'food-emissions-supply-chain.csv'
      6 kategorier = kategorier[3:10] # Inom klamrarna kan vi välja vilka kolumner vi vill använda.
      7                               # [3:10] betyder 3 till 9, eftersom Python exkluderar den övre gränsen.
      8                               # t.ex. kolumn 3 = päästöt maankäytöstä osv.

NameError: name 'livsmedel' is not defined
# Vi skapar ett diagram som avbildar de olika utsläppsområdenas andel av produktens totalutsläpp.

labels = kategorier
sizes = andel

colors = ['green','blue','red','yellowgreen', 'gold', 'lightskyblue', 'lightcoral'] # Vi väljer färger för diagrammet.

# Följande stycke är en kod som skapar ett cirkeldiagram.
patches, texts, pcts = plt.pie(sizes, colors=colors, autopct='%.1f%%', pctdistance=0.8, shadow=True, startangle=90)
plt.legend(patches, labels, bbox_to_anchor=(1.15,0.5), loc="center right", bbox_transform=plt.gcf().transFigure)
plt.subplots_adjust(left=0, bottom=0.1, right=1)
plt.gca().axis("equal")
plt.setp(pcts, color='white', fontweight='bold')
plt.tight_layout()


plt.title ("Bild 1, lägg till titel") # Lägg till en passande rubrik till diagrammet. Vad avbildas här?

plt.show()
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Input In [5], in <cell line: 3>()
      1 # Vi skapar ett diagram som avbildar de olika utsläppsområdenas andel av produktens totalutsläpp.
----> 3 labels = kategorier
      4 sizes = andel
      6 colors = ['green','blue','red','yellowgreen', 'gold', 'lightskyblue', 'lightcoral'] # Vi väljer färger för diagrammet.

NameError: name 'kategorier' is not defined

Fint! Nu har vi all grafik som hör till rapporten. Till sist behöver ni skriva rapporten. Den bör innehålla:

  1. Diagrammen, med tydliga förklaringar och bildtexter.

  2. Era observationer från graferna.

  3. Svar på frågorna nedan

  4. Kontaktuppgifter till er grupp i det fall att nästa grupp har följdfrågor.

Det är viktigt att skriva en noggrann rapport, så att nästa grupp får tillräckligt med information om ert arbete, kort och koncist. Gå alltså noga igenom er rapport själva, och tänk på vilka frågor som kan dyka upp när följande grupp läser den. Var förutseende, och svara på de potentiella frågorna innan de hinner ställas.

Frågor:

  1. Varifrån kommer informationen i tabellerna och diagrammen?

  2. Fundera på vad era diagram berättar. Hurudana tankar väcker de?

  3. Hur är det med er valda livsmedelsprodukt? Var det något av era beräknade utsläppsvärden som träffade värdet i tabellen? Har transportmedlet en betydande inverkan på livsmedlets helhetsutsläpp? Hur stor inverkan har produktens ursprungsland? Vilka produktionsskeden påverkar produktens utsläpp?

  4. Uppskatta hur tillförlitliga era beräkningar är. Verkar något av era resultat felaktigt? Kan ni motivera era resultat?

  5. När är det mer praktiskt att ange utsläppen i kilogram, och när i ton? Hur kommer det sig att olika livsmedels transport orsakar olika stora utsläpp?