Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mooc-rr
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ca693b8bd1eb5f2789da9233f56f5d25
mooc-rr
Commits
b985c45a
Commit
b985c45a
authored
Apr 10, 2024
by
Tommy Rushton
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Do exercise 3.
parent
54bcdc4c
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
87 additions
and
61 deletions
+87
-61
cosxsx.png
module2/exo1/cosxsx.png
+0
-0
exercice_python_en.org
module2/exo2/exercice_python_en.org
+58
-0
exercice_python_en.org
module2/exo3/exercice_python_en.org
+29
-61
histogram.png
module2/exo3/histogram.png
+0
-0
sequence_plot.png
module2/exo3/sequence_plot.png
+0
-0
No files found.
module2/exo1/cosxsx.png
View replaced file @
54bcdc4c
View file @
b985c45a
19 KB
|
W:
|
H:
83.5 KB
|
W:
|
H:
2-up
Swipe
Onion skin
module2/exo2/exercice_python_en.org
View file @
b985c45a
...
...
@@ -92,3 +92,61 @@ followed by ~Tab~.
Now it's your turn! You can delete all this information and replace it
by your computational document.
* Exercise 02-2
Load the data:
#+begin_src python :results value :session :exports both
import numpy as np
x = np.array([
14.0, 7.6, 11.2, 12.8, 12.5, 9.9, 14.9, 9.4, 16.9, 10.2, 14.9, 18.1, 7.3, 9.8, 10.9,12.2, 9.9, 2.9, 2.8, 15.4, 15.7, 9.7, 13.1, 13.2, 12.3, 11.7, 16.0, 12.4, 17.9, 12.2, 16.2, 18.7, 8.9, 11.9, 12.1, 14.6, 12.1, 4.7, 3.9, 16.9, 16.8, 11.3, 14.4, 15.7, 14.0, 13.6, 18.0, 13.6, 19.9, 13.7, 17.0, 20.5, 9.9, 12.5, 13.2, 16.1, 13.5, 6.3, 6.4, 17.6, 19.1, 12.8, 15.5, 16.3, 15.2, 14.6, 19.1, 14.4, 21.4, 15.1, 19.6, 21.7, 11.3, 15.0, 14.3, 16.8, 14.0, 6.8, 8.2, 19.9, 20.4, 14.6, 16.4, 18.7, 16.8, 15.8, 20.4, 15.8, 22.4, 16.2, 20.3, 23.4, 12.1, 15.5, 15.4, 18.4, 15.7, 10.2, 8.9, 21.0
])
#+end_src
#+RESULTS:
Calculate the mean:
#+begin_src python :results value :session :exports both
np.mean(x)
#+end_src
#+RESULTS:
: 14.113000000000001
Calculate the minimum:
#+begin_src python :results value :session :exports both
np.min(x)
#+end_src
#+RESULTS:
: 2.8
Calculate the maximum:
#+begin_src python :results value :session :exports both
np.max(x)
#+end_src
#+RESULTS:
: 23.4
Calclurate the median:
#+begin_src python :results value :session :exports both
np.median(x)
#+end_src
#+RESULTS:
: 14.5
Calculate the standard deviation:
#+begin_src python :results value :session :exports both
np.std(x, ddof=1)
#+end_src
#+RESULTS:
: 4.334094455301447
module2/exo3/exercice_python_en.org
View file @
b985c45a
...
...
@@ -11,84 +11,52 @@
#+HTML_HEAD: <script type="text/javascript" src="http://www.pirilampo.org/styles/lib/js/jquery.stickytableheaders.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="http://www.pirilampo.org/styles/readtheorg/js/readtheorg.js"></script>
*
Some explanations
*
Exercise 02-3
This is an org-mode document with code examples in R. Once opened in
Emacs, this document can easily be exported to HTML, PDF, and Office
formats. For more information on org-mode, see
https://orgmode.org/guide/.
Load the data:
When you type the shortcut =C-c C-e h o=, this document will be
exported as HTML. All the code in it will be re-executed, and the
results will be retrieved and included into the exported document. If
you do not want to re-execute all code each time, you can delete the #
and the space before ~#+PROPERTY:~ in the header of this document.
Like we showed in the video, Python code is included as follows (and
is exxecuted by typing ~C-c C-c~):
#+begin_src python :results output :exports both
print("Hello world!")
#+begin_src python :session :exports both
import numpy as np
x = np.array([
14.0, 7.6, 11.2, 12.8, 12.5, 9.9, 14.9, 9.4, 16.9, 10.2, 14.9, 18.1, 7.3, 9.8, 10.9,12.2, 9.9, 2.9, 2.8, 15.4, 15.7, 9.7, 13.1, 13.2, 12.3, 11.7, 16.0, 12.4, 17.9, 12.2, 16.2, 18.7, 8.9, 11.9, 12.1, 14.6, 12.1, 4.7, 3.9, 16.9, 16.8, 11.3, 14.4, 15.7, 14.0, 13.6, 18.0, 13.6, 19.9, 13.7, 17.0, 20.5, 9.9, 12.5, 13.2, 16.1, 13.5, 6.3, 6.4, 17.6, 19.1, 12.8, 15.5, 16.3, 15.2, 14.6, 19.1, 14.4, 21.4, 15.1, 19.6, 21.7, 11.3, 15.0, 14.3, 16.8, 14.0, 6.8, 8.2, 19.9, 20.4, 14.6, 16.4, 18.7, 16.8, 15.8, 20.4, 15.8, 22.4, 16.2, 20.3, 23.4, 12.1, 15.5, 15.4, 18.4, 15.7, 10.2, 8.9, 21.0
])
#+end_src
#+RESULTS:
: Hello world!
And now the same but in an Python session. With a session, Python's
state, i.e. the values of all the variables, remains persistent from
one code block to the next. The code is still executed using ~C-c
C-c~.
#+begin_src python :results output :session :exports both
import numpy
x=numpy.linspace(-15,15)
print(x)
#+end_src
#+RESULTS:
#+begin_example
[-15. -14.3877551 -13.7755102 -13.16326531 -12.55102041
-11.93877551 -11.32653061 -10.71428571 -10.10204082 -9.48979592
-8.87755102 -8.26530612 -7.65306122 -7.04081633 -6.42857143
-5.81632653 -5.20408163 -4.59183673 -3.97959184 -3.36734694
-2.75510204 -2.14285714 -1.53061224 -0.91836735 -0.30612245
0.30612245 0.91836735 1.53061224 2.14285714 2.75510204
3.36734694 3.97959184 4.59183673 5.20408163 5.81632653
6.42857143 7.04081633 7.65306122 8.26530612 8.87755102
9.48979592 10.10204082 10.71428571 11.32653061 11.93877551
12.55102041 13.16326531 13.7755102 14.3877551 15. ]
#+end_example
** Sequence plot:
Finally, an example for graphical output:
#+begin_src python :results output file :session :var matplot_lib_filename="./cosxsx.png" :exports results
#+begin_src python :session :results output file :var matplot_lib_filename="./sequence_plot.png" :exports both
import matplotlib.pyplot as plt
plt.figure(figsize=(
10,
5))
plt.plot(x
,numpy.cos(x)/x
)
plt.figure(figsize=(
6,4.
5))
plt.plot(x)
plt.tight_layout()
plt.grid(color="lightgrey", linestyle="--")
plt.xlim([0,100])
plt.ylim([0,25])
plt.savefig(matplot_lib_filename)
print(matplot_lib_filename)
#+end_src
#+RESULTS:
[[file:./
cosxsx
.png]]
[[file:./
sequence_plot
.png]]
Note the parameter ~:exports results~, which indicates that the code
will not appear in the exported document. We recommend that in the
context of this MOOC, you always leave this parameter setting as
~:exports both~, because we want your analyses to be perfectly
transparent and reproducible.
** Histogram Plot
Watch out: the figure generated by the code block is /not/ stored in
the org document. It's a plain file, here named ~cosxsx.png~. You have
to commit it explicitly if you want your analysis to be legible and
understandable on GitLab.
#+begin_src python :session :results output file :var matplot_lib_filename="./histogram.png" :exports both
plt.figure(figsize=(6,4.5))
plt.hist(x, edgecolor="black", alpha=.75, zorder=2)
plt.grid(color="lightgrey", linestyle="--")
plt.xlim([0,25])
plt.ylim([0,25])
plt.tight_layout()
plt.savefig(matplot_lib_filename)
print(matplot_lib_filename)
#+end_src
Finally, don't forget that we provide in the resource section of this
MOOC a configuration with a few keyboard shortcuts that allow you to
quickly create code blocks in Python by typing ~<p~, ~<P~ or ~<PP~
followed by ~Tab~.
#+RESULTS:
[[file:./histogram.png]]
Now it's your turn! You can delete all this information and replace it
by your computational document.
module2/exo3/histogram.png
0 → 100644
View file @
b985c45a
16.2 KB
module2/exo3/sequence_plot.png
0 → 100644
View file @
b985c45a
49.2 KB
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment