You are on page 1of 7

0310_SpreidingsdiagramBelangVisualisatie

November 17, 2023

<font color=#690027 markdown="1">


<h1>BELANG VAN HET VISUALISEREN VAN DATA</h1>
</font>
In deze notebook oefen je het inlezen, tonen en visualiseren van data opgeslagen in een csv-bes
Je berekent ook het gemiddelde en de variantie van de verschillende variabelen met functies ui
De taak die je zal volbrengen bestaat uit deelopdrachten (decompositie). Denk voordat je de
notebook verder doorloopt, eerst eens na over welke deelopdrachten dat zijn.
Antwoord:

0.0.1 Opdracht
• Importeer de nodige modules.
[2]: import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

<font color=#690027 markdown="1">


<h2>1. Een eerste dataset</h2>
</font>
<font color=#690027 markdown="1">
<h3>1.1 Data inlezen en kenmerken berekenen</h2>
</font>

0.0.2 Opdracht
• Lees de data in van het bestand data.csv dat je in de map data terugvindt.
• Laat de tabel zien op het scherm.
Uit de bestandsnaam kan je niets afleiden over de data. Je beschikt dus over bitter weinig informatie
over de datapunten. Je zal beamen dat in dat geval de data nietszeggend zijn.
In de notebook 'Spreidingsdiagram. Data uit bestand' kreeg je op het einde een code-cel mee om

[3]: csv = pd.read_csv("data/data.csv")


csv

1
[3]: a h
0 55.3846 97.1795
1 51.5385 96.0256
2 46.1538 94.4872
3 42.8205 91.4103
4 40.7692 88.3333
.. … …
137 39.4872 25.3846
138 91.2821 41.5385
139 50.0000 95.7692
140 47.9487 95.0000
141 44.1026 92.6923

[142 rows x 2 columns]

[4]: # praktische code uit vorige notebook

csv = pd.read_csv("data/punten.csv") # inlezen van bestand, je␣


,→kan zelf de variabelenaam kiezen!

x = csv["x"] # 2e kolom een naam geven␣


,→m.b.v. de sleutel x (hoofding van de kolom)

y = csv["y"] # 3e kolom een naam geven␣


,→m.b.v. de sleutel y

x = np.array(x) # NumPy-lijst aanmaken met␣


,→de gewenste data

y = np.array(y)

print(x) # NumPy-lijst weergeven


print(y)

[ 28 40 41 44 45 51 54 57 57 60 62 72 74 90 113]
[ 33 35 47 35 55 56 50 50 70 65 53 82 80 95 100]

0.0.3 Opdracht
• Bereken het gemiddelde en de variantie van de verschillende variabelen. Je gebruikt daarvoor
de functies mean() en var() van de module NumPy.
[13]: np.mean(x)
np.var(x)
np.mean(y)
np.var(y)
print(np.mean(x))
print(np.var(x))
print(np.mean(y))

2
print(np.var(y))

59.2
429.62666666666667
60.4
417.97333333333324
<font color=#690027 markdown="1">
<h3>1.2 Data visualiseren</h2>
</font>
Om een beter idee te krijgen over de data, zal je de data visualiseren.

0.0.4 Opdracht
• Visualiseer de data van het bestand data.csv.
In de notebook 'Spreidingsdiagram. Data uit bestand' kreeg je op het einde een ovezicht van de

[17]: # praktische code uit vorige notebook

x_min = x.min()
x_max = x.max()
y_min = y.min()
y_max = y.max()

print(x_min, x_max, y_min, y_max)

plt.figure() # creëer tekenvenster

plt.axis(xmin=28, xmax=113, ymin=33, ymax=100) # vensterinstellingen


plt.xticks(np.arange(25, 115, step=10))
plt.yticks(np.arange(30, 105, step=10))

plt.scatter(x, y) # plot punten

plt.title("data")

plt.grid(True) # titel en labels

plt.show() # toon grafiek

28 113 33 100

3
Geef de grafiek nu een gepaste titel!
[ ]:

<font color=#690027 markdown="1">


<h2>2. Een tweede dataset</h2>
</font>
<font color=#690027 markdown="1">
<h3>2.1 Data inlezen en kenmerken berekenen</h2>
</font>

0.0.5 Opdracht
• Lees de data in van het bestand data2.csv dat je in de map data terugvindt.
• Laat de tabel zien op het scherm.
Opnieuw is de bestandsnaam nietszeggend.
[18]: csv = pd.read_csv("data/data2.csv")
csv

[18]: b k
0 51.203891 83.339777
1 58.974470 85.499818
2 51.872073 85.829738

4
3 48.179931 85.045117
4 41.683200 84.017941
.. … …
137 50.967748 29.679774
138 91.191054 46.674343
139 55.863768 85.336487
140 49.280595 84.048823
141 43.368502 84.332177

[142 rows x 2 columns]

0.0.6 Opdracht
• Bereken het gemiddelde en de variantie van de verschillende variabelen.
• Vergelijk deze kenmerken met die van de vorige dataset. Wat zou dit kunnen betekenen voor
het spreidingsdiagram van deze tweede dataset?
[23]: np.mean(x)
np.var(x)
np.mean(y)
np.var(y)
print(np.mean(x))
print(np.var(x))
print(np.mean(y))
print(np.var(y))

59.2
429.62666666666667
60.4
417.97333333333324
Antwoord:
<font color=#690027 markdown="1">
<h3>2.2 Data visualiseren</h2>
</font>

0.0.7 Opdracht
• Visualiseer de data van het bestand data2.csv.
• Was je antwoord hiervoor juist?
[24]: x_min = x.min()
x_max = x.max()
y_min = y.min()
y_max = y.max()

print(x_min, x_max, y_min, y_max)

5
plt.figure() # creëer tekenvenster

plt.axis(xmin=28, xmax=113, ymin=33, ymax=100) # vensterinstellingen


plt.xticks(np.arange(25, 115, step=10))
plt.yticks(np.arange(30, 105, step=10))

plt.scatter(x, y) # plot punten

plt.title("data")

plt.grid(True) # titel en labels

plt.show()

28 113 33 100

Je berekent het gemiddelde en de variantie van een grootheid met de functies mean() en var() ui
Datapunten waarvan de gemiddeldes en varianties quasi dezelfde zijn, kunnen toch totaal verschi
Bekijk ook de notebook ‘Belang van visualisatie - Anscombe’ en eventueel de notebook ‘Stan-
daardiseren’.
<h2>Referentielijst</h2>
[1] Cairo, A. (2016). Download the Datasaurus: Never trust summary statistics alone; always
visualize your data [Blogpost]. http://helloworld.cc/datasaurus [2] Matejka, J. & Fitzmau-

6
rice, G. (2017). Same Stats, Different Graphs: Generating Datasets with Varied Appearance and
Identical Statistics through Simulated Annealing. Proceedings of the 2017 CHI Conference
on Human Factors in Computing Systems. Association for Computing Machinery, New York,
NY, USA, 1290–1294. https://doi.org/10.1145/3025453.3025912
Notebook Python in wiskunde, zie Computationeel denken - Programmeren in Python van AI
Op School, van F. wyffels & N. Gesquière in licentie gegeven volgens een Creative Commons
Naamsvermelding-NietCommercieel-GelijkDelen 4.0 Internationaal-licentie.

You might also like