Skip to content
Snippets Groups Projects
Commit 296298d9 authored by andyg's avatar andyg
Browse files

expected files uploaded

parent 15017cca
No related branches found
No related tags found
No related merge requests found
Showing
with 730 additions and 21802 deletions
%% Cell type:markdown id: tags:
# Einführung in Jupyter-Notebooks
Ein Jupyter Notebook besteht in der Regel zum einen aus **formatierten Texten** (z.B. Aufgabenstellungen, Erklärungen und Graphiken) und zum anderen aus **ausführbaren Code**.
Die Art eines Textes wird durch den Typ der jeweiligen Zelle festgelegt in der er steht. Wir unterscheiden zwischen **Markdown-Zellen** und **Code-Zellen**. Sie bilden die Bausteine aus denen sich ein Notebook zusammensetzt.
%% Cell type:markdown id: tags:
## Code Zellen
%% Cell type:markdown id: tags:
Code Zellen enthalten ausführbaren Code. Die Programmiersprache hängt von dem ausgewählten Kernel (hier Python 3) ab.
Mit Hilfe der Tastenkombinationen
Shift + Enter (Führe Zelle aus und springe in die nächste Zelle)
Strg + Enter (Führe Zelle aus)
oder durch den Menüpunkt im Header
Cell --> Run Cells
kann eine Zelle ausgeführt werden.
%% Cell type:code id: tags:
``` python
s = 'Hello World'
print(s)
```
%% Output
Hello World
%% Cell type:markdown id: tags:
Variablen und deren Belegungen werden zellenübergreifend im Kernel hinterlegt.
Dies ermöglicht es uns auf die zuvor deklarierte Variable `s` zuzugreifen.
%% Cell type:code id: tags:
``` python
s = s + ' of Warcraft'
print(s)
```
%% Output
Hello World of Warcraft
%% Cell type:markdown id: tags:
**Beachte:** Die Reihenfolge der Ausführung der Zellen kann variiert werden. Das kann jedoch zu anderen Belegungen der Variablen und mitunter auch zu Fehlern führen. Um einen reibungslosen Ablauf zu gewährleisten empfiehlt es sich daher den Befehl
Cells --> Run All
zu verwenden. Dadurch ist sicher gestellt, dass die Zellen in Reihenfolge ihres Auftretens ausgeführt werden.
%% Cell type:markdown id: tags:
## Markdown Zellen
Markdown Zellen enthalten formatierten Text. Die Zelle in der dieser Text steht ist ein Besipiel für eine Markdown Zelle. Mit Hilfe der Formatierungssprache Markdown kann der Text beliebig formatiert werden.
Durch Doppelklick auf eine Markdown-Zelle kann der Inhalt bearbeitet werden. Durch Klick auf
Cell --> Run Cells
oder mit Hilfe der Tastenkombination
Shift + Enter
wird der Inhalt anschließend wieder formatiert.
Es folgt ein Überblick über die wichtigsten Befehle zum Formatieren.
%% Cell type:markdown id: tags:
### Überschriften
**Eingabe:**
# H1
## H2
### H3
#### H4
##### H5
###### H6
%% Cell type:markdown id: tags:
### Betonungen (Fett, Kursiv, Durchgestrichen)
| Art | Syntax |
| :--- | :--- |
| **Fett** | `**Fett**` |
| *Kursiv* | `*Kursiv*` |
| **_Kombiniert_** | `*_Kombiniert_*` |
| ~~Durchgestrichen~~ | `~~Durchgestrichen~~` |
%% Cell type:markdown id: tags:
### Listen
%% Cell type:markdown id: tags:
**Eingabe:**
+ unsortierte Liste
Einrückung
+ ...
**Ausgabe:**
+ unsortierte Liste
Einrückung
+ ...
%% Cell type:markdown id: tags:
**Eingabe:**
1. sortierte Liste
2. ...
**Ausgabe:**
1. sortierte Liste
2. ...
%% Cell type:markdown id: tags:
### Links
Mit hilfe von Links kann auf Webseiten oder lokale Daten wie z.B. Graphiken verwiesen werden.
%% Cell type:markdown id: tags:
**Eingabe:**
[google](https://www.google.com)
**Ausgabe:**
[google](https://www.google.com)
%% Cell type:markdown id: tags:
**Eingabe:**
![Bild](Ressourcen/python_logo.png)
**Ausgabe:**
![Bild](Ressourcen/python_logo.png)
%% Cell type:markdown id: tags:
### Code in Markdown
Manchmal möchte man auch Code in Markdown darstellen.
**Eingabe:**
In fließendem Text 'print('Hello World')`
**Ausgabe:**
In fließendem Text `print('Hello World')`
Oder abgesetzt und formatiert
**Eingabe:**
```python
print('Hello World')
```
**Ausgabe:**
```python
print('Hello World')
```
%% Cell type:markdown id: tags:
### Tabellen
| Spalte 1 | Spalte 2 | Spalte 3 |
| :------- | :------: | -------: |
| links ausgerichtet | zentriert | rechts ausgerichtet |
| 1 | 2 | 3 |
| Spalte 1 | Spalte 2 | Spalte 3 |
| :------- | :------: | -------: |
| links ausgerichtet | zentriert | rechts ausgerichtet |
| 1 | 2 | 3 |
%% Cell type:markdown id: tags:
<div style="background-color: lightblue; padding: 5px 20px 20px">
## Aufgabe (Formatieren mit Markdown)
Formatiert den folgenden Text so wie er im Bild zu sehen ist.
</div>
![Markdown_Example](Ressourcen/markdown_example.png)
%% Cell type:markdown id: tags:
Python
Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.
Python is dynamically typed and garbage-collected. It supports multiple programming paradigms, including procedural, object-oriented, and functional programming. Python is often described as a "batteries included" language due to its comprehensive standard library.
Content
History
Features
Syntax
Code-Beispiel
l = [1, 2, 4]
print(len(l))
Eckdaten
Name Designed by First appeared
Python Guido van Rossum 1990
Quelle: https://en.wikipedia.org/wiki/Python_(programming_language)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
%% Cell type:markdown id: tags:
# Eine Fragestellung formulieren
%% Cell type:markdown id: tags:
Die Fragestellung ist die Grundlage einer jeder Datenanalyse. Oft steht die Fragestellung schon fest bevor die Daten gesammelt werden. Mittlerweile ist es jedoch gängige Praxis, dass Daten gesammelt werden, noch bevor deren genauer Nutzen feststeht.
Eine Datenauswertung ist in den meisten Fällen mit einem bestimmten Ziel verbunden. Die Datenauswertung soll dabei helfen gute Entscheidungen zu treffen und Konsequenzen zu ziehen, die dem Ziel zuträglich sind.
**Beispiel:** Eine Stadt möchte die Feinstaubbelastung in der Innenstadt reduzieren (Ziel). Daher möchte die Stadt wissen, wo die Feinstaubbelastung am größten ist (Fragestellung). In den kritischen Zonen sollen dann Bäume gepflanzt werden, um die Luftqualität zu verbessern (Konsequenz).
%% Cell type:markdown id: tags:
<div style="background-color: lightblue; padding: 5px 20px 20px">
## Aufgabe (Fragestellung)
Formulieren Sie auf Grundlage Ihrer Vorüberlegungen mindestens drei Fragestellungen, die Sie in Ihrer Analyse untersuchen möchten
</div>
%% Cell type:markdown id: tags:
*Hier ist Platz für deine Antwort*
%% Cell type:markdown id: tags:
<div style="background-color: lightblue; padding: 5px 20px 20px">
## Aufgabe (Vermutung)
Stelle eine Vermutung auf: Welche Antworten erwartest du?
</div>
%% Cell type:markdown id: tags:
*Hier ist Platz für deine Antwort*
%% Cell type:markdown id: tags:
<div style="background-color: lightblue; padding: 5px 20px 20px">
## Aufgabe (Nutzen und Konsequenzen)
Welchen potenziellen Nutzen könnten die Antworten auf die Fragen haben? Welche Personen könnten sich für die Antworten interessieren? Wie könnten entsprechende Konsequenzen aussehen?
</div>
%% Cell type:markdown id: tags:
*Hier ist Platz für deine Antwort*
%% Cell type:markdown id: tags:
<div style="background-color: lightblue; padding: 5px 20px 20px">
## Aufgabe (Vorgehensweise)
Erläutern Sie nun, wie Sie die Fragestellungen untersuchen möchten. Welche Schritte sind notwendig? Welche Arten der Visualisierungen bietet sich an?
</div>
%% Cell type:markdown id: tags:
*Hier ist Platz für deine Antwort*
%% Cell type:markdown id: tags:
# Eigene Datenauswertung
%% Cell type:code id: tags:
``` python
```
,soeren,soeren-ThinkPad-E555,06.10.2019 16:31,file:///home/soeren/.config/libreoffice/4;
\ No newline at end of file
This diff is collapsed.
File deleted
This diff is collapsed.
Alter;Geschlecht;Klasse;Anzahl_Apps;Anzahl_Onlineprofile;Anzahl_Kontakte;Nutzen_WhatsApp;Nutzen_Instagram;Nutzen_Facebook;Nutzen_Twitter;Nutzen_Snapchat
12;männlich;6;92;9;88;täglich;mehrmals pro Woche;seltener;nie;täglich
12;männlich;6;34;5;120;täglich;mehrmals pro Woche;nie;nie;nie
18;weiblich;11;13;1;70;täglich;täglich;nie;nie;nie
13;männlich;7;40;15;1265;täglich;nie;nie;nie;nie
17;männlich;11;104;10;314;täglich;täglich;nie;seltener;täglich
17;männlich;11;83;12;177;täglich;täglich;nie;nie;täglich
17;männlich;11;170;40;271;täglich;täglich;einmal in 14 Tagen;nie;mehrmals pro Woche
16;männlich;10;70;9;239;einmal im Monat;einmal pro Woche;seltener;einmal im Monat;mehrmals pro Woche
13;männlich;8;35;6;270;täglich;einmal in 14 Tagen;nie;mehrmals pro Woche;mehrmals pro Woche
14;männlich;8;10;5;87;täglich;nie;nie;nie;nie
18;männlich;12;110;25;311;täglich;nie;nie;nie;täglich
17;weiblich;11;128;1;46;nie;nie;nie;nie;nie
18;weiblich;12;6;2;153;täglich;täglich;seltener;nie;nie
17;männlich;11;18;6;200;täglich;täglich;einmal im Monat;nie;täglich
18;weiblich;12;45;4;190;mehrmals pro Woche;seltener;nie;seltener;nie
14;weiblich;9;51;5;170;täglich;mehrmals pro Woche;nie;nie;nie
18;männlich;11;26;3;310;täglich;täglich;einmal pro Woche;nie;mehrmals pro Woche
16;männlich;10;62;1;38;täglich;nie;seltener;nie;nie
16;männlich;11;26;5;154;täglich;täglich;mehrmals pro Woche;nie;täglich
17;männlich;11;25;4;150;täglich;täglich;nie;nie;täglich
17;weiblich;11;52;3;275;täglich;täglich;nie;nie;täglich
14;weiblich;8;27;5;191;täglich;täglich;nie;nie;täglich
14;männlich;8;67;9;34;täglich;täglich;nie;mehrmals pro Woche;mehrmals pro Woche
13;männlich;8;56;13;251;täglich;täglich;seltener;seltener;einmal pro Woche
14;männlich;8;34;4;134;täglich;täglich;nie;nie;mehrmals pro Woche
13;männlich;8;78;;;täglich;nie;nie;nie;nie
19;männlich;12;51;25;106;täglich;täglich;nie;nie;täglich
13;weiblich;7;5;2;45;täglich;täglich;nie;nie;einmal in 14 Tagen
17;weiblich;11;33;7;211;täglich;täglich;nie;nie;mehrmals pro Woche
17;männlich;11;156;7;240;täglich;täglich;nie;nie;täglich
17;männlich;11;69;8;156;täglich;täglich;nie;nie;täglich
13;männlich;7;10;5;87;täglich;täglich;nie;nie;nie
17;männlich;11;47;16;166;täglich;täglich;nie;nie;täglich
16;männlich;11;116;4;236;täglich;mehrmals pro Woche;nie;nie;einmal in 14 Tagen
16;weiblich;10;60;5;312;täglich;täglich;mehrmals pro Woche;täglich;täglich
16;weiblich;11;43;5;313;täglich;täglich;mehrmals pro Woche;nie;täglich
16;weiblich;10;13;15;164;täglich;täglich;seltener;einmal pro Woche;täglich
17;männlich;11;279;12;265;täglich;mehrmals pro Woche;täglich;nie;mehrmals pro Woche
14;männlich;8;40;1;55;täglich;täglich;nie;nie;nie
17;weiblich;11;17;10;215;täglich;täglich;täglich;nie;täglich
17;weiblich;11;40;4;302;täglich;täglich;nie;nie;täglich
18;männlich;12;56;3;490;täglich;mehrmals pro Woche;nie;nie;täglich
18;weiblich;12;18;3;189;täglich;täglich;nie;nie;täglich
13;weiblich;7;4;1;106;täglich;täglich;nie;seltener;mehrmals pro Woche
17;weiblich;11;22;4;458;täglich;täglich;nie;nie;täglich
17;weiblich;12;58;7;75;mehrmals pro Woche;täglich;nie;nie;täglich
13;weiblich;7;22;22;79;täglich;täglich;nie;nie;täglich
14;männlich;8;84;10;145;täglich;nie;nie;nie;nie
15;weiblich;9;20;5;240;täglich;täglich;einmal in 14 Tagen;nie;täglich
17;männlich;11;10;4;86;täglich;nie;nie;einmal pro Woche;nie
11;männlich;5;8;0;57;täglich;nie;nie;nie;einmal pro Woche
11;männlich;5;8;0;57;täglich;nie;nie;nie;einmal pro Woche
17;weiblich;12;38;6;319;täglich;täglich;nie;nie;täglich
13;weiblich;8;12;5;146;täglich;täglich;nie;nie;mehrmals pro Woche
18;männlich;12;31;5;228;täglich;täglich;einmal pro Woche;einmal im Monat;täglich
14;männlich;8;90;4;283;täglich;täglich;nie;nie;einmal in 14 Tagen
11;weiblich;5;37;1;65;täglich;nie;nie;nie;mehrmals pro Woche
12;weiblich;6;18;0;70;täglich;nie;nie;nie;nie
14;weiblich;9;95;5;161;täglich;einmal pro Woche;nie;nie;nie
18;weiblich;12;53;4;359;täglich;täglich;einmal pro Woche;nie;einmal pro Woche
17;männlich;11;73;16;130;täglich;täglich;seltener;täglich;täglich
15;weiblich;9;;6;252;täglich;einmal pro Woche;nie;nie;täglich
17;weiblich;12;16;6;463;täglich;täglich;nie;nie;täglich
14;männlich;9;55;15;;täglich;mehrmals pro Woche;seltener;seltener;nie
15;männlich;9;34;25;158;täglich;täglich;nie;nie;täglich
16;männlich;10;43;6;126;täglich;täglich;nie;nie;täglich
17;männlich;10;6;3;26;täglich;seltener;nie;nie;nie
16;männlich;10;30;7;278;täglich;nie;täglich;täglich;täglich
15;weiblich;9;51;7;140;täglich;einmal im Monat;seltener;nie;nie
14;weiblich;8;51;3;243;mehrmals pro Woche;mehrmals pro Woche;nie;nie;täglich
18;männlich;12;70;6;128;täglich;täglich;täglich;einmal pro Woche;täglich
17;männlich;11;16;3;70;täglich;nie;nie;nie;nie
14;weiblich;8;40;2;158;täglich;nie;nie;nie;nie
17;männlich;11;16;2;120;täglich;seltener;nie;nie;nie
17;weiblich;11;86;26;249;täglich;täglich;seltener;seltener;täglich
15;männlich;9;12;7;184;täglich;täglich;nie;nie;täglich
12;männlich;6;12;3;55;täglich;einmal in 14 Tagen;nie;nie;nie
17;weiblich;11;17;9;267;nie;einmal im Monat;mehrmals pro Woche;nie;nie
17;männlich;11;21;5;56;täglich;täglich;mehrmals pro Woche;nie;nie
18;weiblich;11;41;8;73;täglich;täglich;einmal in 14 Tagen;nie;nie
13;männlich;8;12;4;88;mehrmals pro Woche;einmal pro Woche;nie;nie;einmal pro Woche
15;weiblich;9;38;5;150;täglich;täglich;nie;nie;täglich
14;weiblich;8;8;0;56;mehrmals pro Woche;nie;nie;nie;nie
17;weiblich;11;31;12;176;täglich;täglich;seltener;nie;täglich
16;männlich;10;38;12;129;täglich;einmal in 14 Tagen;täglich;einmal in 14 Tagen;nie
17;weiblich;11;40;9;479;täglich;täglich;täglich;seltener;täglich
18;weiblich;12;72;4;270;täglich;täglich;mehrmals pro Woche;nie;täglich
16;weiblich;10;17;10;237;täglich;täglich;nie;täglich;täglich
16;weiblich;11;62;6;469;täglich;täglich;einmal im Monat;nie;täglich
15;männlich;9;20;29;30;mehrmals pro Woche;täglich;nie;nie;täglich
15;weiblich;10;17;5;57;täglich;täglich;nie;nie;täglich
13;männlich;8;167;8;67;täglich;täglich;nie;nie;täglich
14;männlich;9;80;5;115;täglich;mehrmals pro Woche;seltener;nie;mehrmals pro Woche
16;männlich;11;51;20;280;täglich;täglich;nie;seltener;täglich
16;männlich;10;42;14;251;täglich;täglich;seltener;nie;nie
17;männlich;12;129;9;101;täglich;täglich;täglich;seltener;täglich
17;männlich;11;29;1;132;täglich;seltener;nie;nie;täglich
17;männlich;12;90;15;163;täglich;einmal pro Woche;nie;nie;täglich
17;männlich;11;53;15;243;täglich;einmal im Monat;nie;seltener;einmal in 14 Tagen
14;männlich;8;58;6;180;täglich;täglich;nie;einmal im Monat;täglich
15;männlich;8;41;9;104;täglich;mehrmals pro Woche;nie;täglich;nie
15;männlich;8;31;4;288;täglich;täglich;nie;einmal pro Woche;täglich
15;weiblich;10;27;1;111;täglich;nie;nie;nie;nie
13;weiblich;7;9;4;61;täglich;täglich;täglich;nie;nie
15;männlich;10;44;15;45;täglich;täglich;nie;nie;täglich
15;weiblich;9;32;5;89;mehrmals pro Woche;mehrmals pro Woche;nie;nie;nie
17;weiblich;12;12;9;99;täglich;täglich;nie;nie;täglich
18;männlich;11;50;10;147;täglich;einmal pro Woche;einmal im Monat;einmal in 14 Tagen;täglich
12;männlich;7;;;;seltener;nie;nie;nie;nie
18;weiblich;11;61;5;189;täglich;täglich;täglich;nie;täglich
17;männlich;11;37;7;304;täglich;täglich;einmal in 14 Tagen;mehrmals pro Woche;täglich
14;männlich;8;25;4;35;mehrmals pro Woche;nie;nie;nie;nie
17;männlich;11;28;20;474;täglich;täglich;einmal im Monat;nie;täglich
18;weiblich;11;17;6;48;mehrmals pro Woche;mehrmals pro Woche;nie;nie;mehrmals pro Woche
17;männlich;11;25;5;322;täglich;täglich;seltener;einmal pro Woche;täglich
18;männlich;11;63;3;52;täglich;täglich;nie;täglich;täglich
18;männlich;11;54;15;198;täglich;nie;nie;seltener;nie
17;weiblich;11;14;5;165;täglich;seltener;nie;nie;einmal in 14 Tagen
20;männlich;12;48;4;104;täglich;nie;seltener;nie;mehrmals pro Woche
17;männlich;11;70;39;190;täglich;nie;nie;nie;nie
17;weiblich;11;47;12;217;täglich;täglich;einmal pro Woche;einmal pro Woche;täglich
12;weiblich;6;6;3;72;täglich;nie;nie;nie;mehrmals pro Woche
11;männlich;6;45;1;43;täglich;nie;nie;nie;nie
13;weiblich;8;15;4;64;täglich;mehrmals pro Woche;nie;nie;täglich
17;weiblich;11;30;12;465;täglich;täglich;nie;nie;täglich
15;männlich;9;101;8;299;täglich;mehrmals pro Woche;einmal in 14 Tagen;einmal im Monat;täglich
17;weiblich;11;18;3;230;täglich;täglich;mehrmals pro Woche;nie;nie
19;weiblich;11;52;3;110;täglich;mehrmals pro Woche;täglich;nie;täglich
16;männlich;10;59;4;86;täglich;täglich;einmal pro Woche;nie;täglich
15;männlich;9;70;9;140;täglich;täglich;nie;einmal pro Woche;täglich
18;männlich;12;40;50;250;täglich;nie;nie;nie;täglich
16;weiblich;10;5;5;31;täglich;täglich;mehrmals pro Woche;nie;täglich
19;weiblich;12;23;6;146;täglich;täglich;mehrmals pro Woche;seltener;täglich
12;männlich;6;40;2;75;täglich;nie;nie;nie;nie
11;weiblich;5;0;0;29;nie;nie;nie;nie;nie
14;weiblich;8;15;3;120;täglich;täglich;nie;nie;täglich
18;männlich;12;198;4;121;täglich;täglich;einmal in 14 Tagen;nie;einmal im Monat
14;weiblich;10;6;4;316;täglich;täglich;nie;nie;täglich
14;männlich;8;30;3;257;täglich;täglich;nie;seltener;nie
15;weiblich;9;28;3;225;täglich;täglich;nie;nie;täglich
15;weiblich;9;28;3;225;täglich;täglich;nie;nie;täglich
15;weiblich;10;18;2;38;täglich;täglich;nie;nie;mehrmals pro Woche
14;männlich;9;6;3;250;täglich;täglich;nie;einmal im Monat;täglich
17;männlich;11;67;13;152;täglich;täglich;nie;seltener;täglich
14;männlich;8;71;6;150;täglich;täglich;einmal in 14 Tagen;täglich;täglich
13;männlich;7;59;13;89;täglich;mehrmals pro Woche;mehrmals pro Woche;mehrmals pro Woche;nie
12;weiblich;6;4;0;0;nie;nie;nie;nie;nie
14;männlich;8;67;6;32;täglich;täglich;nie;mehrmals pro Woche;einmal pro Woche
16;männlich;10;29;16;197;täglich;täglich;nie;einmal pro Woche;täglich
15;männlich;9;21;4;104;täglich;täglich;seltener;nie;nie
13;weiblich;8;47;0;138;täglich;nie;nie;nie;nie
13;weiblich;8;43;0;138;täglich;nie;nie;nie;nie
17;weiblich;10;35;10;1058;täglich;täglich;seltener;seltener;täglich
17;männlich;10;37;10;1058;täglich;täglich;seltener;seltener;täglich
15;männlich;9;53;4;112;täglich;täglich;nie;seltener;täglich
14;weiblich;8;95;15;303;täglich;täglich;einmal im Monat;seltener;täglich
15;weiblich;9;20;8;90;täglich;täglich;seltener;mehrmals pro Woche;täglich
14;männlich;9;80;4;105;täglich;mehrmals pro Woche;seltener;nie;mehrmals pro Woche
14;weiblich;8;83;7;291;täglich;täglich;nie;nie;täglich
14;männlich;8;98;20;60;täglich;täglich;nie;nie;täglich
16;weiblich;11;75;7;181;täglich;nie;nie;nie;mehrmals pro Woche
15;männlich;8;16;6;40;täglich;nie;nie;täglich;nie
11;weiblich;6;30;6;66;täglich;täglich;nie;nie;täglich
11;männlich;5;19;0;24;täglich;nie;nie;nie;nie
16;weiblich;9;36;8;68;einmal in 14 Tagen;einmal pro Woche;einmal in 14 Tagen;täglich;einmal pro Woche
15;weiblich;8;24;5;99;mehrmals pro Woche;täglich;nie;nie;täglich
11;weiblich;6;9;1;42;täglich;nie;nie;nie;nie
14;weiblich;8;96;13;109;täglich;täglich;seltener;seltener;täglich
14;weiblich;8;75;3;157;täglich;täglich;nie;nie;mehrmals pro Woche
14;männlich;8;34;1;99;täglich;mehrmals pro Woche;nie;nie;nie
17;männlich;11;113;3;102;täglich;mehrmals pro Woche;nie;nie;nie
17;weiblich;10;26;15;75;täglich;täglich;nie;täglich;täglich
13;männlich;7;54;9;63;täglich;täglich;nie;nie;täglich
14;männlich;8;44;6;40;täglich;täglich;seltener;mehrmals pro Woche;täglich
18;weiblich;12;10;6;160;täglich;nie;nie;nie;nie
14;männlich;8;45;10;52;täglich;täglich;einmal in 14 Tagen;täglich;täglich
15;männlich;9;60;9;73;mehrmals pro Woche;mehrmals pro Woche;einmal pro Woche;einmal pro Woche;einmal im Monat
15;weiblich;9;26;11;220;täglich;täglich;nie;nie;täglich
12;männlich;7;20;4;114;täglich;seltener;nie;nie;nie
13;weiblich;7;9;2;112;täglich;täglich;nie;nie;nie
10;männlich;5;7;2;46;täglich;täglich;nie;nie;seltener
10;männlich;5;30;2;49;täglich;nie;nie;nie;nie
11;männlich;5;25;2;81;täglich;nie;nie;nie;nie
18;weiblich;11;46;8;294;täglich;täglich;mehrmals pro Woche;nie;täglich
18;männlich;12;37;5;120;täglich;täglich;seltener;einmal im Monat;täglich
16;weiblich;10;34;2;100;täglich;mehrmals pro Woche;nie;nie;täglich
11;männlich;5;67;3;30;mehrmals pro Woche;nie;nie;nie;nie
14;männlich;7;23;9;36;täglich;täglich;nie;nie;täglich
15;weiblich;9;121;3;66;täglich;täglich;nie;nie;täglich
15;weiblich;9;10;7;60;täglich;täglich;nie;seltener;nie
18;männlich;12;74;3;482;täglich;mehrmals pro Woche;nie;nie;täglich
16;männlich;10;18;6;67;täglich;nie;nie;nie;nie
12;weiblich;6;10;1;22;täglich;nie;nie;nie;seltener
17;männlich;11;46;26;83;täglich;täglich;nie;nie;nie
11;weiblich;6;3;0;56;mehrmals pro Woche;nie;nie;nie;nie
11;männlich;5;32;7;42;täglich;nie;nie;nie;mehrmals pro Woche
10;männlich;5;20;8;32;täglich;nie;nie;nie;nie
16;männlich;10;18;5;119;täglich;täglich;nie;nie;mehrmals pro Woche
15;weiblich;11;167;23;170;täglich;täglich;nie;mehrmals pro Woche;täglich
16;männlich;10;108;5;118;täglich;täglich;nie;nie;täglich
10;männlich;5;;2;0;nie;nie;nie;nie;nie
14;männlich;9;30;10;68;täglich;nie;nie;seltener;nie
13;männlich;7;8;5;50;täglich;mehrmals pro Woche;nie;seltener;nie
18;männlich;12;7;21;26;mehrmals pro Woche;nie;nie;nie;seltener
13;männlich;8;8;2;15;täglich;seltener;nie;nie;seltener
13;männlich;8;;6;;mehrmals pro Woche;einmal pro Woche;einmal im Monat;seltener;einmal pro Woche
18;männlich;12;30;7;116;täglich;nie;nie;einmal pro Woche;mehrmals pro Woche
18;weiblich;12;42;15;222;täglich;täglich;nie;mehrmals pro Woche;täglich
11;männlich;5;47;0;7;nie;nie;nie;nie;nie
11;männlich;5;47;0;7;einmal im Monat;einmal pro Woche;einmal im Monat;seltener;einmal in 14 Tagen
15;männlich;9;57;8;249;mehrmals pro Woche;täglich;nie;nie;täglich
17;weiblich;12;82;9;262;täglich;täglich;seltener;einmal pro Woche;täglich
13;weiblich;8;41;8;114;täglich;täglich;einmal im Monat;täglich;täglich
17;männlich;12;90;8;271;täglich;täglich;nie;nie;täglich
17;weiblich;12;12;5;90;täglich;täglich;seltener;nie;täglich
15;weiblich;10;51;6;59;täglich;täglich;nie;nie;täglich
14;weiblich;9;14;1;177;täglich;nie;nie;nie;nie
16;männlich;11;62;10;25;täglich;einmal pro Woche;nie;nie;einmal im Monat
13;weiblich;8;19;2;117;täglich;nie;nie;nie;nie
13;weiblich;9;33;5;218;täglich;täglich;nie;nie;mehrmals pro Woche
14;weiblich;9;60;5;43;täglich;täglich;nie;nie;täglich
13;weiblich;8;9;2;271;täglich;täglich;nie;nie;nie
17;männlich;12;18;7;52;mehrmals pro Woche;nie;nie;nie;nie
17;männlich;12;48;2;96;täglich;nie;nie;nie;nie
17;weiblich;12;17;3;167;täglich;nie;nie;nie;einmal im Monat
16;männlich;12;73;20;50;mehrmals pro Woche;mehrmals pro Woche;nie;nie;nie
18;männlich;12;90;19;180;täglich;täglich;nie;seltener;täglich
17;männlich;12;84;19;255;täglich;täglich;einmal pro Woche;nie;mehrmals pro Woche
17;männlich;12;99;16;8;mehrmals pro Woche;mehrmals pro Woche;nie;nie;täglich
17;männlich;12;22;5;115;täglich;täglich;mehrmals pro Woche;seltener;mehrmals pro Woche
14;männlich;9;40;3;201;täglich;nie;nie;nie;nie
This diff is collapsed.
%% Cell type:markdown id: tags:
# Datenauswertung in Phyton - Teil 2
%% Cell type:markdown id: tags:
## 2. Gruppierung und Aggregation (Personalkartei)
Zwei wichtige Konzepte der Datenauswertung sind **Gruppierung und Aggregation**, wobei eine Aggregation immer eine Gruppierung voraussetzt. Um diese Konzepte zu verstehen, betrachten wir folgendes Beispiel einer fiktiven **Personalkartei**:
%% Cell type:code id: tags:
``` python
#Importieren von Pandas
import pandas as pd
import matplotlib.pyplot as plt
#Instanzieren eines Data Frames mit Namen personalDF
personalDF = pd.DataFrame({'Name':['Müller','Meier','Schmidt','Wagner','Weber','Wagner'],
'Geschlecht':['weiblich','männlich','weiblich','weiblich','männlich','männlich'],
'Abteilung':['Verkauf','Verkauf','Personal','Lager','Verwaltung','Lager'],
'Einkommen':[2700,2900,3600,2600,3300,2900]})
print(personalDF)
```
%% Output
Abteilung Einkommen Geschlecht Name
0 Verkauf 2700 weiblich Müller
1 Verkauf 2900 männlich Meier
2 Personal 3600 weiblich Schmidt
3 Lager 2600 weiblich Wagner
4 Verwaltung 3300 männlich Weber
5 Lager 2900 männlich Wagner
%% Cell type:markdown id: tags:
### 2.1. Gruppierung
Eine Darstellung in einem Graphen macht hier offensichtlich wenig Sinn. Es bietet sich jedoch an die Datensätze bezüglich gemeinsamer Eigenschaften in Gruppen zusammenzufassen, um im Anschluss allgemeine Aussagen über diese Gruppen treffen zu können. Möchten wir beispielsweise die Frauen und Männer seperat betrachten hilft uns die Funktion **groupby([*Spaltenname(n)*])**:
%% Cell type:code id: tags:
``` python
#Gruppieren nach dem Merkmal Geschlecht
grouped = personalDF.groupby(['Geschlecht'])
#Gruppe der Männer
print('Männer:')
print(grouped.get_group('männlich'))
#Gruppe der Frauen
print('Frauen:')
print(grouped.get_group('weiblich'))
```
%% Output
Männer:
Abteilung Einkommen Geschlecht Name
1 Verkauf 2900 männlich Meier
4 Verwaltung 3300 männlich Weber
5 Lager 2900 männlich Wagner
Frauen:
Abteilung Einkommen Geschlecht Name
0 Verkauf 2700 weiblich Müller
2 Personal 3600 weiblich Schmidt
3 Lager 2600 weiblich Wagner
%% Cell type:markdown id: tags:
Im obigem Code werden die Datensätze in die Gruppen **männlich** und **weiblich** aufgeteilt. Wir können auch nach mehr als einer Eigenschaft gruppieren:
%% Cell type:code id: tags:
``` python
#Gruppieren nach Abteilung und Name
grouped = personalDF.groupby(['Abteilung','Name'])
#Die Gruppennamen identifizieren
groups = grouped.groups.keys()
#Ausgabe für jede der Gruppen
for group in groups:
print('Gruppe:',group)
print(grouped.get_group(group))
```
%% Output
Gruppe: ('Lager', 'Wagner')
Abteilung Einkommen Geschlecht Name
3 Lager 2600 weiblich Wagner
5 Lager 2900 männlich Wagner
Gruppe: ('Personal', 'Schmidt')
Abteilung Einkommen Geschlecht Name
2 Personal 3600 weiblich Schmidt
Gruppe: ('Verkauf', 'Meier')
Abteilung Einkommen Geschlecht Name
1 Verkauf 2900 männlich Meier
Gruppe: ('Verkauf', 'Müller')
Abteilung Einkommen Geschlecht Name
0 Verkauf 2700 weiblich Müller
Gruppe: ('Verwaltung', 'Weber')
Abteilung Einkommen Geschlecht Name
4 Verwaltung 3300 männlich Weber
%% Cell type:markdown id: tags:
Hier werden die Personen sowohl nach ihrer Abteilung, als auch nach ihrem Namen gruppiert. Die erste Gruppe beispielsweise enthält demnach alle Personen mit Namen Wagner, die im Lager beschäftigt sind.
%% Cell type:markdown id: tags:
### 2.2. Aufgabe (Gruppierung)
#### Verwende die Funktion **groupby(...)**, um die Gruppe der männlichen Personen mit einem Einkommen von 2900 (€) zu identifizieren und gib diese anschließend aus.
%% Cell type:code id: tags:
``` python
#Hier ist Platz für deinen Code:
```
%% Cell type:markdown id: tags:
### 2.3. Aggregation
Gruppierung alleine reicht meist nicht aus, um allgemeine Aussagen über die Gruppen treffen zu können. Im Folgendem verwenden wir sogennante **Aggregationsfunktionen**. Diese ermöglichen uns mehrer Datensätze in einem für die Gruppe repräsentativen Datensatz zusammenzufassen (**aggregieren**). Die Aggregationsfunktion legt dabei fest wie dieses "Zusammenfassen" geschehen soll. Typische Aggregationsfunktionen sind:
+ **mean** Durchschnitt
+ **max** Maximum
+ **min** Minimum
+ **median** Median
+ **sum** Summe
+ **first** Erstes Element
+ **last** Letztes Element
Die Syntax für die Aggregation ist wie folgt: **aggregate({*Spaltenname*:*Aggregationsfunktion*, ...})**
%% Cell type:code id: tags:
``` python
#Gruppieren nach Abteilung
grouped = personalDF.groupby(['Abteilung'])
#Auswählen des ersten Eintrags in jeder Gruppe (Aggregation)
aggregationDF = grouped.aggregate({'Name':'first','Geschlecht':'first'})
print(aggregationDF)
```
%% Output
Name Geschlecht
Abteilung
Lager Wagner weiblich
Personal Schmidt weiblich
Verkauf Müller weiblich
Verwaltung Weber männlich
%% Cell type:markdown id: tags:
### 2.4. Aufgabe (Aggregation)
#### Verwende eine geeignete Aggregationsfunktion, um zu ermitteln, ob die Frauen oder die Männer im Betrieb mehr Geld verdienen.
%% Cell type:code id: tags:
``` python
#Hier ist Platz für deinen Code:
```
%% Cell type:markdown id: tags:
# Datenauswertung in Phyton - Teil 3
%% Cell type:markdown id: tags:
## 3. Genug der Vorrede - Hier kommen die Daten! (Lautstärke im Lehrerzimmer)
An einer Schule in Paderborn wurde einen Tag lang die **Lautstärke in einem Lehrerzimmer** gemessen. Im Verlauf der folgenden Datenauswertung möchten wir dazu folgende **Fragestellung** untersuchen:
### Wie sind die Unterrichtszeiten an der Schule? Wann findet Unterricht statt und wann sind (Mittags-)Pausen?
%% Cell type:markdown id: tags:
### 3.1. Die Daten
Die gesammelten Daten wurden in einer sogenannten **CSV-Datei** gespeichert. CSV steht für *Comma-seperated values* (zu deutsch "durch Kommata getrennte Werte"). Eine CSV-Datei beschreibt in Textform den Aufbau und Inhalt einer Tabelle. Glücklicherweise bietet uns **pandas** die Mölichkeit solche CSV-Dateien auszulesen und in die uns bekannte Form eines **Data Frames** zu speichern. Dafür benötigen wir den Befehl **read_csv(*Dateiname*)** mit dem Dateinamen als Parameter.
%% Cell type:code id: tags:
``` python
#Importieren von pandas und csv
import pandas as pd
import matplotlib.pyplot as plt
import csv
#Einlesen der CSV-Datei
df = pd.read_csv('lautstaerke.csv')
```
%% Cell type:markdown id: tags:
### 3.2. Aufgabe (Struktur)
#### Untersuche die Struktur der Daten. Welche Spalten gibt es? Wieviele Einträge gibt es insgesamt? In welcher Form wurden die Messdaten gespeichert? Gib dazu den Data Frame aus.
%% Cell type:code id: tags:
``` python
#Hier ist Platz für deinen Code:
```
%% Cell type:markdown id: tags:
Hier ist Platz für deine Antwort:
%% Cell type:markdown id: tags:
### 3.3. Indizierung
Wie in Teil 1 möchten wir zunächst einen **Index** für unsere Daten festlegen. Da in diesem Fall die Lautstärke von der Uhrzeit abhängt und nicht umgekehrt, bietet es sich an die Uhrzeit als **Index** zu wählen. Zusätzlich legen wir noch fest, dass es sich bei den Uhrzeiten um Zeitangaben handelt, damit **pandas** diese auch als solche interpretiert. Im Zuge dessen wird automatisch auch ein Datum ergänzt.
%% Cell type:code id: tags:
``` python
import dateutil
#Zeitangaben als solche interpretieren
df['Uhrzeit'] = pd.to_datetime(df['Uhrzeit'])
#Setzen des Index
dfIndexed = df.set_index('Uhrzeit')
```
%% Cell type:markdown id: tags:
### 3.4. Aufgabe (Graph)
#### Zeichne den Graphen mit pandas.
%% Cell type:code id: tags:
``` python
#Hier ist Platz für deinen Code:
```
%% Cell type:markdown id: tags:
### 3.5. Resampling
Wie du vielleicht schon beobachtet hast, beträgt der Zeitabstand zwischen zwei Messungen oft nur einige Millisekunden. Für die Beantwortung unserer anfangs gestellten Frage interessieren wir uns jedoch weniger für die Lautstärke in jedem Sekundenintervall als für die durchschnittliche Lautstärke in einem größer gewählten Zeitintervall. Abhilfe schafft die Funktion **resample(*Frequenz*)**
%% Cell type:code id: tags:
``` python
dfResampled = dfIndexed.resample("1Min").mean()
```
%% Cell type:markdown id: tags:
### 3.6. Aufgabe (Resample)
#### Was bewirkt die Funktion **resample**? Erkläre die Funktionsweise mithilfe der Konzepte Gruppierung und Aggregation.
%% Cell type:code id: tags:
``` python
#Hier ist Platz für deinen Code:
```
%% Cell type:markdown id: tags:
Hier ist Platz für deine Antwort:
%% Cell type:markdown id: tags:
### 3.7. Achsenmarkierungen
Für die Beantwortung der Frage nach den Unterrichtszeiten müssen wir eine geeignete Schrittweite für Markierungen auf der Zeitachse wählen. Da potenziell auch Fünf-Minuten-Pausen im Studenplan möglich sind, sollten wir mindestens alle fünf Minuten eine Markierung setzen. Auf der anderen Seite sollten wir die Markierungen auch nicht zu kleinschrittig wählen, um die Übersichtlichkeit zu wahren. Im folgenden definieren wir eine Funktion **plotFormatiert(*Name des Data Frames*)**, die wir anstelle der uns bekannten Funktion **plot()** verwenden können, um einen nach unseren Anforderungen **formatierten** Graphen zu zeichnen.
%% Cell type:code id: tags:
``` python
import matplotlib.dates as mdates
def plotFormatiert(dataFrame):
plot = dataFrame.plot(x_compat=True,grid=True,title='Lautstärke im Lehrerzimmer')
plot.xaxis.set_major_locator(mdates.MinuteLocator(byminute=range(0,60,10)))
plot.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M'))
```
%% Cell type:markdown id: tags:
### 3.8. Aufgabe (Graph erweitert)
#### Verwende die Funktion **plotFormatiert()**, um *lautstaerkeResampledDF* in einem Graphen darzustellen.
%% Cell type:code id: tags:
``` python
#Hier ist Platz für deine Antwort:
```
%% Cell type:markdown id: tags:
### 3.9. Automatisierte Datenauswertung
Ziel der Automatisierten Datenauswertung ist es Wissen aus Daten automatisch generieren zu lassen. Dazu werden **(Entscheidungs-)Regeln** definiert, anhand dieser der Computer **Aussagen** ableitet. Solche Aussagen sind jedoch mit äußerster Vorsicht zu betrachten, da nicht immer alle Faktoren berücksichtigt werden können. In unserem speziellen Fall könnte eine solche Regel folgendermaßen lauten:
#### Genau dann, wenn die Lautstärke zu einem Zeitpunkt im Lehrerzimmer mindestens 0.06 beträgt, findet kein Unterricht statt.
Eine Möglichkeit eine solche Regel zu implementieren ist das Hinzufügen einer neuen Spalte (**Unterricht**), in der das Ergebnis der automatisierten Auswertung festgehalten wird. Das Programm durchläuft dann alle Messwerte und entscheidet jeweils, ob Unterricht stattfindet oder nicht.
%% Cell type:code id: tags:
``` python
def entscheideUnterricht(wert):
#Hier ist Platz für deinen Code:
return 0
#Kopie des alten Data Frames
dfCopy = dfResampled.copy()
#Hinzufügen einer neuen Spalte mit den Werten, die die Funktion entscheideUnterricht ermittelt
dfCopy['Unterricht'] = dfCopy['Wert'].apply(entscheideUnterricht)
#Hier ist Platz für deinen Code:
```
%% Cell type:markdown id: tags:
### 3.11. Abschluss (Ergebnis)
Mithilfe der bisherigen Untersuchungen sollte es dir nun möglich sein die Frage nach den Unterrichtszeiten abschließend zu beantworten. Erstelle dazu eine Übersicht, die jeweils Beginn und Ende einer jeden Einheit (Unterricht/Pause) beinhaltet.
%% Cell type:markdown id: tags:
Deine Lösung:
+ Erste Stunde von ... bis ...
+ ...
%% Cell type:markdown id: tags:
## Du hast es geschafft!
Ressourcen/A1.png

12.7 KiB

Ressourcen/A2.png

3.01 KiB

Ressourcen/CRISP-DM.png

608 KiB

Ressourcen/CRISP-DM2.png

174 KiB

Ressourcen/CRISP-DM3.png

92.7 KiB

Ressourcen/CSV_Format_Speichern_Excel.png

64.4 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment