1 00:00:07,100 --> 00:00:11,490 So if you want to get started with Jupyter Notebooks, the most easy thing you can do 2 00:00:11,490 --> 00:00:17,230 is you just use a Jupyter Notebook service by one of the cloud providers. 3 00:00:17,230 --> 00:00:21,990 So within IBM it's called IBM Watson Studio. 4 00:00:21,990 --> 00:00:26,980 Watson Studio is more, but it has a hosted Jupyter Notebook service. 5 00:00:26,980 --> 00:00:33,440 And the other alternative is you just use a system called Anaconda. 6 00:00:33,440 --> 00:00:36,090 And that comes with Anaconda Navigator. 7 00:00:36,090 --> 00:00:42,989 And here you can install and launch different data science tools. 8 00:00:42,989 --> 00:00:50,360 And I'll start here with Jupyter Notebooks first, but I will definitely immediately switch 9 00:00:50,360 --> 00:00:51,360 to JupyterLab. 10 00:00:51,360 --> 00:01:03,620 I will just show you how Jupyter Notebooks looks like. 11 00:01:03,620 --> 00:01:07,500 Ok see, this is now Jupyter Notebook. 12 00:01:07,500 --> 00:01:16,060 Ok, and the key thing in Jupyter Notebooks is that you can mix and match code, visualizations 13 00:01:16,060 --> 00:01:17,189 and documentations. 14 00:01:17,189 --> 00:01:21,039 So let's actually create a notebook. 15 00:01:21,039 --> 00:01:24,070 And there are various languages supported. 16 00:01:24,070 --> 00:01:27,829 Most of the interactive languages. 17 00:01:27,829 --> 00:01:32,909 And I will go here for a Python 3 notebook. 18 00:01:32,909 --> 00:01:42,850 But there are also so called kernels for Scala, for R, and any other interactive programing 19 00:01:42,850 --> 00:01:44,899 language you can imagine. 20 00:01:44,899 --> 00:01:49,640 So what you can do here is you can write code, ok. 21 00:01:49,640 --> 00:01:58,409 So let's start with a simple Python expression and then the cool this is you can immediately 22 00:01:58,409 --> 00:02:01,829 evaluate a variable. 23 00:02:01,829 --> 00:02:06,119 So there is no need for printing this variable. 24 00:02:06,119 --> 00:02:08,229 Of course you can also do that. 25 00:02:08,229 --> 00:02:12,140 But the last variable in the code is always evaluated. 26 00:02:12,140 --> 00:02:19,290 So for example, if you have Y equals 2, and then you say, Y and X. 27 00:02:19,290 --> 00:02:26,020 Then, oh, of course I have to run the cell first. 28 00:02:26,020 --> 00:02:29,470 So now you see it's ah, 1. 29 00:02:29,470 --> 00:02:32,530 And if it's Y, then it's 2. 30 00:02:32,530 --> 00:02:33,530 Ok? 31 00:02:33,530 --> 00:02:35,080 So that's the basics. 32 00:02:35,080 --> 00:02:44,430 So let's actually have a look at how to plot things so you can, for example, create an 33 00:02:44,430 --> 00:02:45,890 array. 34 00:02:45,890 --> 00:02:52,950 We'll just create a numpy array. 35 00:02:52,950 --> 00:03:06,910 So X equals numpy dot array, and then we create here, ah ...1, 2, 3, 3, 3, 4, 5, 6, 7, 8, 36 00:03:06,910 --> 00:03:11,040 9, 1, 1, 2, 3, 4, 5. 37 00:03:11,040 --> 00:03:14,740 Ok, so that's now a numpy array, we have here you see. 38 00:03:14,740 --> 00:03:17,100 And also double check here. 39 00:03:17,100 --> 00:03:21,590 If you say type, this is ah, of type nd-array. 40 00:03:21,590 --> 00:03:22,620 Ok. 41 00:03:22,620 --> 00:03:27,500 So numpy is pretty cool, but I won't go into details here. 42 00:03:27,500 --> 00:03:46,050 So we will now import a library called Seaborn for plotting. 43 00:03:46,050 --> 00:03:49,370 To keep it nicely we put all the imports on top. 44 00:03:49,370 --> 00:03:56,840 Then we can say, Seaborn distplot, which is basically a histogram. 45 00:03:56,840 --> 00:04:01,210 And then you see here a very nice painted histogram. 46 00:04:01,210 --> 00:04:03,580 So it uses, as you can see here, matplotlib in the background. 47 00:04:03,580 --> 00:04:09,760 But Seaborn actually acts like a layer on top of matplotlib. 48 00:04:09,760 --> 00:04:15,990 And turns out the very ugly looking matplotlib plots into something very nicely looking, 49 00:04:15,990 --> 00:04:23,200 as we are also expecting, for example, from ggplot2, which we have in R. And the last 50 00:04:23,200 --> 00:04:33,350 thing I want to mention here is you can also add another cell and turn this into 51 00:04:33,350 --> 00:04:34,350 a documentation cell. 52 00:04:34,350 --> 00:04:35,960 So I have selected here Markdown. 53 00:04:35,960 --> 00:04:40,030 Now I can actually... so let's move this up here. 54 00:04:40,030 --> 00:04:44,340 Say, ah, this is a title. 55 00:04:44,340 --> 00:04:45,340 Ok? 56 00:04:45,340 --> 00:04:53,060 Then I can add some, this is interesting. 57 00:04:53,060 --> 00:04:58,500 And then, this is even more interesting. 58 00:04:58,500 --> 00:05:01,850 You see here it automatically increments the number here. 59 00:05:01,850 --> 00:05:08,690 So this is pretty cool because you can just mix and match markdown syntax, your favorite 60 00:05:08,690 --> 00:05:11,730 programing language, and all the outputs. 61 00:05:12,730 --> 00:05:21,170 So that's only a little introduction and I will now directly move into explaining JupyterLab.