author | Madhusudan.C.S <madhusudancs@gmail.com> |
Mon, 26 Oct 2009 12:41:40 +0530 | |
changeset 166 | ddfd95133adc |
parent 161 | ff22fae4fde5 |
child 167 | 5f13be28532d |
permissions | -rw-r--r-- |
115 | 1 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
142
57e0f0fd3317
Made usage of FOSSEE consistent, in comments also.
Puneeth Chaganti <punchagan@fossee.in>
parents:
137
diff
changeset
|
2 |
%Tutorial slides on Python. |
115 | 3 |
% |
142
57e0f0fd3317
Made usage of FOSSEE consistent, in comments also.
Puneeth Chaganti <punchagan@fossee.in>
parents:
137
diff
changeset
|
4 |
% Author: FOSSEE |
57e0f0fd3317
Made usage of FOSSEE consistent, in comments also.
Puneeth Chaganti <punchagan@fossee.in>
parents:
137
diff
changeset
|
5 |
% Copyright (c) 2009, FOSSEE, IIT Bombay |
115 | 6 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
7 |
||
8 |
\documentclass[14pt,compress]{beamer} |
|
9 |
%\documentclass[draft]{beamer} |
|
10 |
%\documentclass[compress,handout]{beamer} |
|
11 |
%\usepackage{pgfpages} |
|
12 |
%\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm] |
|
13 |
||
14 |
% Modified from: generic-ornate-15min-45min.de.tex |
|
15 |
\mode<presentation> |
|
16 |
{ |
|
17 |
\usetheme{Warsaw} |
|
18 |
\useoutertheme{split} |
|
19 |
\setbeamercovered{transparent} |
|
20 |
} |
|
21 |
||
22 |
\usepackage[english]{babel} |
|
23 |
\usepackage[latin1]{inputenc} |
|
24 |
%\usepackage{times} |
|
25 |
\usepackage[T1]{fontenc} |
|
26 |
||
27 |
% Taken from Fernando's slides. |
|
28 |
\usepackage{ae,aecompl} |
|
29 |
\usepackage{mathpazo,courier,euler} |
|
30 |
\usepackage[scaled=.95]{helvet} |
|
116
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
31 |
\usepackage{amsmath} |
115 | 32 |
|
33 |
\definecolor{darkgreen}{rgb}{0,0.5,0} |
|
34 |
||
35 |
\usepackage{listings} |
|
36 |
\lstset{language=Python, |
|
37 |
basicstyle=\ttfamily\bfseries, |
|
38 |
commentstyle=\color{red}\itshape, |
|
39 |
stringstyle=\color{darkgreen}, |
|
40 |
showstringspaces=false, |
|
41 |
keywordstyle=\color{blue}\bfseries} |
|
42 |
||
43 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
44 |
% Macros |
|
45 |
\setbeamercolor{emphbar}{bg=blue!20, fg=black} |
|
46 |
\newcommand{\emphbar}[1] |
|
47 |
{\begin{beamercolorbox}[rounded=true]{emphbar} |
|
48 |
{#1} |
|
49 |
\end{beamercolorbox} |
|
50 |
} |
|
51 |
\newcounter{time} |
|
52 |
\setcounter{time}{0} |
|
53 |
\newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}} |
|
54 |
||
55 |
\newcommand{\typ}[1]{\lstinline{#1}} |
|
56 |
||
57 |
\newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}} } |
|
58 |
||
59 |
%%% This is from Fernando's setup. |
|
60 |
% \usepackage{color} |
|
61 |
% \definecolor{orange}{cmyk}{0,0.4,0.8,0.2} |
|
62 |
% % Use and configure listings package for nicely formatted code |
|
63 |
% \usepackage{listings} |
|
64 |
% \lstset{ |
|
65 |
% language=Python, |
|
66 |
% basicstyle=\small\ttfamily, |
|
67 |
% commentstyle=\ttfamily\color{blue}, |
|
68 |
% stringstyle=\ttfamily\color{orange}, |
|
69 |
% showstringspaces=false, |
|
70 |
% breaklines=true, |
|
71 |
% postbreak = \space\dots |
|
72 |
% } |
|
73 |
||
74 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
75 |
% Title page |
|
76 |
\title[]{Arrays \& Least Squares Fit} |
|
77 |
||
78 |
\author[FOSSEE] {FOSSEE} |
|
79 |
||
80 |
\institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay} |
|
131
b3a78754c4a9
Minor edits to day1 session4.
Puneeth Chaganti <punchagan@fossee.in>
parents:
125
diff
changeset
|
81 |
\date[] {31, October 2009\\Day 1, Session 3} |
115 | 82 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
83 |
||
84 |
%\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo} |
|
85 |
%\logo{\pgfuseimage{iitmlogo}} |
|
86 |
||
87 |
||
88 |
%% Delete this, if you do not want the table of contents to pop up at |
|
89 |
%% the beginning of each subsection: |
|
90 |
\AtBeginSubsection[] |
|
91 |
{ |
|
92 |
\begin{frame}<beamer> |
|
93 |
\frametitle{Outline} |
|
94 |
\tableofcontents[currentsection,currentsubsection] |
|
95 |
\end{frame} |
|
96 |
} |
|
97 |
||
98 |
\AtBeginSection[] |
|
99 |
{ |
|
100 |
\begin{frame}<beamer> |
|
101 |
\frametitle{Outline} |
|
102 |
\tableofcontents[currentsection,currentsubsection] |
|
103 |
\end{frame} |
|
104 |
} |
|
105 |
||
106 |
\newcommand{\num}{\texttt{numpy}} |
|
107 |
||
108 |
||
109 |
% If you wish to uncover everything in a step-wise fashion, uncomment |
|
110 |
% the following command: |
|
111 |
%\beamerdefaultoverlayspecification{<+->} |
|
112 |
||
113 |
%\includeonlyframes{current,current1,current2,current3,current4,current5,current6} |
|
114 |
||
115 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
116 |
% DOCUMENT STARTS |
|
117 |
\begin{document} |
|
118 |
||
119 |
\begin{frame} |
|
120 |
\maketitle |
|
121 |
\end{frame} |
|
122 |
||
123 |
%% \begin{frame} |
|
124 |
%% \frametitle{Outline} |
|
125 |
%% \tableofcontents |
|
126 |
%% % You might wish to add the option [pausesections] |
|
127 |
%% \end{frame} |
|
128 |
||
161
ff22fae4fde5
Adding reading files and plotting to day1 session1.
Puneeth Chaganti <punchagan@fossee.in>
parents:
148
diff
changeset
|
129 |
|
115 | 130 |
\begin{frame} |
131 |
\frametitle{Least Squares Fit} |
|
132 |
\begin{itemize} |
|
161
ff22fae4fde5
Adding reading files and plotting to day1 session1.
Puneeth Chaganti <punchagan@fossee.in>
parents:
148
diff
changeset
|
133 |
\item Plot a least squares fit line |
115 | 134 |
\end{itemize} |
135 |
\end{frame} |
|
136 |
||
117
958e3e090c6b
Session 3 now compiles; errors corrected.
Puneeth Chaganti <punchagan@fossee.in>
parents:
116
diff
changeset
|
137 |
\begin{frame}[fragile] |
115 | 138 |
\frametitle{Least Squares Fit \ldots} |
139 |
Machinery Required - |
|
140 |
\begin{itemize} |
|
141 |
\item Reading files and parsing data |
|
142 |
\item Plotting points, lines |
|
143 |
\item Calculating the Coefficients of the Least Squares Fit curve |
|
144 |
\begin{itemize} |
|
145 |
\item Arrays |
|
146 |
\end{itemize} |
|
147 |
\end{itemize} |
|
148 |
\end{frame} |
|
149 |
||
116
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
150 |
|
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
151 |
\begin{frame}[fragile] |
117
958e3e090c6b
Session 3 now compiles; errors corrected.
Puneeth Chaganti <punchagan@fossee.in>
parents:
116
diff
changeset
|
152 |
\frametitle{Calculating $T^2$} |
116
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
153 |
\begin{itemize} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
154 |
\item Each element of the list T must be squared |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
155 |
\item Iterating over each element of the list works |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
156 |
\item But very slow \ldots |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
157 |
\item Instead, we use arrays |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
158 |
\end{itemize} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
159 |
\begin{lstlisting} |
137 | 160 |
In []: L = array(L) |
116
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
161 |
In []: T = array(T) |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
162 |
In []: Tsq = T*T |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
163 |
In []: plot(L, Tsq, 'o') |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
164 |
\end{lstlisting} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
165 |
\end{frame} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
166 |
|
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
167 |
\begin{frame}[fragile] |
115 | 168 |
\frametitle{Arrays} |
116
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
169 |
\begin{itemize} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
170 |
\item T is now a \typ{numpy array} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
171 |
\item \typ{numpy} arrays are very efficient and powerful |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
172 |
\item Very easy to perform element-wise operations |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
173 |
\item \typ{+, -, *, /, \%} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
174 |
\item More about arrays later |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
175 |
\end{itemize} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
176 |
\end{frame} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
177 |
|
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
178 |
\begin{frame}[fragile] |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
179 |
\frametitle{Least Square Polynomial} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
180 |
\begin{enumerate} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
181 |
\item $T^2 = \frac{4\pi^2}{g}L$ |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
182 |
\item $T^2$ and $L$ have a linear relationship |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
183 |
\item We find an approximate solution to $Ax = y$, where A is the Van der Monde matrix to get coefficients of the least squares fit line. |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
184 |
\end{enumerate} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
185 |
\end{frame} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
186 |
|
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
187 |
\begin{frame}[fragile] |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
188 |
\frametitle{Van der Monde Matrix} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
189 |
Van der Monde matrix of order M |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
190 |
\begin{equation*} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
191 |
\begin{bmatrix} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
192 |
l_1^{M-1} & \ldots & l_1 & 1 \\ |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
193 |
l_2^{M-1} & \ldots &l_2 & 1 \\ |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
194 |
\vdots & \ldots & \vdots & \vdots\\ |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
195 |
l_N^{M-1} & \ldots & l_N & 1 \\ |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
196 |
\end{bmatrix} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
197 |
\end{equation*} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
198 |
\begin{lstlisting} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
199 |
In []: A=vander(L,2) |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
200 |
\end{lstlisting} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
201 |
\end{frame} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
202 |
|
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
203 |
\begin{frame}[fragile] |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
204 |
\frametitle{Least Square Fit Line} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
205 |
\begin{itemize} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
206 |
\item We use the \typ{lstsq} function of pylab |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
207 |
\item It returns the |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
208 |
\begin{enumerate} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
209 |
\item Least squares solution |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
210 |
\item Sum of residues |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
211 |
\item Rank of matrix A |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
212 |
\item Singular values of A |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
213 |
\end{enumerate} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
214 |
\end{itemize} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
215 |
\begin{lstlisting} |
131
b3a78754c4a9
Minor edits to day1 session4.
Puneeth Chaganti <punchagan@fossee.in>
parents:
125
diff
changeset
|
216 |
In []: coef, res, r, s = lstsq(A,Tsq) |
116
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
217 |
\end{lstlisting} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
218 |
\end{frame} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
219 |
|
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
220 |
\begin{frame}[fragile] |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
221 |
\frametitle{Least Square Fit Line \ldots} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
222 |
\begin{itemize} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
223 |
\item Use the poly1d function of pylab, to create a function for the line equation using the coefficients obtained |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
224 |
\begin{lstlisting} |
131
b3a78754c4a9
Minor edits to day1 session4.
Puneeth Chaganti <punchagan@fossee.in>
parents:
125
diff
changeset
|
225 |
In []: p=poly1d(coef) |
116
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
226 |
\end{lstlisting} |
117
958e3e090c6b
Session 3 now compiles; errors corrected.
Puneeth Chaganti <punchagan@fossee.in>
parents:
116
diff
changeset
|
227 |
\item Get new $T^2$ values using the function \typ{p} obtained |
116
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
228 |
\begin{lstlisting} |
131
b3a78754c4a9
Minor edits to day1 session4.
Puneeth Chaganti <punchagan@fossee.in>
parents:
125
diff
changeset
|
229 |
In []: Tline = p(L) |
116
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
230 |
\end{lstlisting} |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
231 |
\item Now plot Tline vs. L, to get the Least squares fit line. |
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
232 |
\begin{lstlisting} |
131
b3a78754c4a9
Minor edits to day1 session4.
Puneeth Chaganti <punchagan@fossee.in>
parents:
125
diff
changeset
|
233 |
In []: plot(L, Tline) |
116
cb91f43d2cbb
Added Least Square Fitting to Session3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
115
diff
changeset
|
234 |
\end{lstlisting} |
117
958e3e090c6b
Session 3 now compiles; errors corrected.
Puneeth Chaganti <punchagan@fossee.in>
parents:
116
diff
changeset
|
235 |
\end{itemize} |
115 | 236 |
\end{frame} |
237 |
||
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
238 |
\begin{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
239 |
\frametitle{Statistical Analysis and Parsing} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
240 |
Read the data supplied in \emph{sslc1.txt} and obtain the following statistics: |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
241 |
\begin{itemize} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
242 |
\item Average total marks scored in each region |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
243 |
\item Subject wise average score of each region |
125
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
244 |
\item \alert{??Subject wise average score for all regions combined??} |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
245 |
\item Find the subject wise standard deviation of scores for each region |
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
246 |
\end{itemize} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
247 |
\end{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
248 |
|
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
249 |
\begin{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
250 |
\frametitle{Statistical Analysis and Parsing \ldots} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
251 |
Machinery Required - |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
252 |
\begin{itemize} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
253 |
\item File reading and parsing |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
254 |
\item NumPy arrays - sum by rows and sum by coloumns |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
255 |
\item Dictionaries |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
256 |
\end{itemize} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
257 |
\end{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
258 |
|
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
259 |
\begin{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
260 |
\frametitle{File reading and parsing} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
261 |
Understanding the structure of sslc1.txt |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
262 |
\begin{itemize} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
263 |
\item Each line in the file, i.e each row of a file is a single record. |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
264 |
\item Each record corresponds to a record of a single student |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
265 |
\item Each record consists of several fields separated by a ';' |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
266 |
\end{itemize} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
267 |
\end{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
268 |
|
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
269 |
\begin{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
270 |
\frametitle{File reading and parsing \ldots} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
271 |
Each record consists of: |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
272 |
\begin{itemize} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
273 |
\item Region Code |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
274 |
\item Roll Number |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
275 |
\item Name |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
276 |
\item Marks of 5 subjects |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
277 |
\item Total marks |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
278 |
\item Pass (P) |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
279 |
\item Withdrawn (W) |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
280 |
\item Fail (F) |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
281 |
\end{itemize} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
282 |
\end{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
283 |
|
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
284 |
\begin{frame}[fragile] |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
285 |
\frametitle{File reading and parsing \ldots} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
286 |
\begin{lstlisting} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
287 |
for record in open('sslc1.txt'): |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
288 |
fields = record.split(';') |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
289 |
\end{lstlisting} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
290 |
\end{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
291 |
|
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
292 |
\begin{frame}[fragile] |
166
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
293 |
\frametitle{Dictionary - Building parsed data} |
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
294 |
\begin{itemize} |
166
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
295 |
\item Let the parsed data be stored in dictionary \typ{data} |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
296 |
\item \begin{lstlisting} |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
297 |
data = {} # is an empty dictionary |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
298 |
\end{lstlisting} |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
299 |
\item Index of a dictionary is called a \emph{key} |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
300 |
\item \emph{Keys} of \typ{data} are strings - region codes |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
301 |
\item Value of a \emph{key} can be any Python object |
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
302 |
\end{itemize} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
303 |
\end{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
304 |
|
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
305 |
\begin{frame}[fragile] |
166
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
306 |
\frametitle{Dictionary - Building parsed data...} |
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
307 |
\begin{itemize} |
166
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
308 |
\item In this problem let the value of a \emph{key} be another dictionary. |
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
309 |
\item This dictionary contains: |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
310 |
\begin{itemize} |
166
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
311 |
\item 'marks': A \emph{list} of NumPy arrays |
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
312 |
\item 'total': Total marks of each student |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
313 |
\item 'P': Number of passes |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
314 |
\item 'F': Number of failures |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
315 |
\item 'W': Number of withdrawls |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
316 |
\end{itemize} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
317 |
\end{itemize} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
318 |
\end{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
319 |
|
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
320 |
\begin{frame}[fragile] |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
321 |
\frametitle{Dictionary - Building parsed data \ldots} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
322 |
\small |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
323 |
\begin{lstlisting} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
324 |
data = {} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
325 |
for record in open('sslc1.txt'): |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
326 |
fields = record.split(';') |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
327 |
if fields[0] not in data: |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
328 |
data[fields[0]] = { |
166
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
329 |
'marks': [], |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
330 |
'total': [], |
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
331 |
'P': 0, |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
332 |
'F': 0, |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
333 |
'W': 0 |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
334 |
} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
335 |
\end{lstlisting} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
336 |
\end{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
337 |
|
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
338 |
\begin{frame}[fragile] |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
339 |
\frametitle{Dictionary - Building parsed data \ldots} |
125
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
340 |
\begin{lstlisting} |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
341 |
marks = [] |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
342 |
for field in fields[3:8]: |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
343 |
score_str = field.strip() |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
344 |
score = 0 if score_str == 'AA' |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
345 |
or score_str == 'AAA' |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
346 |
or score_str == '' |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
347 |
else int(score_str) |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
348 |
marks.append(score) |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
349 |
|
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
350 |
data[fields[0]]['marks'].append(marks) |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
351 |
\end{lstlisting} |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
352 |
\end{frame} |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
353 |
|
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
354 |
\begin{frame}[fragile] |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
355 |
\frametitle{Dictionary - Building parsed data \ldots} |
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
356 |
\begin{lstlisting} |
125
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
357 |
total = 0 if score_str == 'AA' |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
358 |
or score_str == 'AAA' |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
359 |
or score_str == '' |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
360 |
else int(fields[8]) |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
361 |
data[fields[0]]['total'].append(total) |
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
362 |
|
125
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
363 |
pfw_key = fields[9] |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
364 |
or fields[10] |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
365 |
or 'F' |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
366 |
data[fields[0]][pfw_key] += 1 |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
367 |
\end{lstlisting} |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
368 |
\end{frame} |
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
369 |
|
125
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
370 |
\begin{frame}[fragile] |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
371 |
\frametitle{Dictionary - Building parsed data \ldots} |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
372 |
\begin{lstlisting} |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
373 |
pfw_key = fields[9] |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
374 |
or fields[10] |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
375 |
or 'F' |
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
376 |
data[fields[0]][pfw_key] += 1 |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
377 |
\end{lstlisting} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
378 |
\end{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
379 |
|
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
380 |
\begin{frame}[fragile] |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
381 |
\frametitle{Calculations} |
125
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
382 |
\small |
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
383 |
\begin{lstlisting} |
125
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
384 |
for k in data: |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
385 |
data[k]['marks'] = array(data[k]['marks']) |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
386 |
data[k]['total'] = array(data[k]['total']) |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
387 |
|
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
388 |
data[k]['avg'] = average( |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
389 |
data[k]['total']) |
125
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
390 |
marks = data[k]['marks'] |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
391 |
sub_avg = average(marks, axis=1) |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
392 |
sub_std = sqrt(sum(square( |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
393 |
sub_avg[:,newaxis] - marks), axis=0) / |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
394 |
len(marks)) |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
395 |
data[k]['sub_avg'] = sub_avg |
99ca3cb18fd2
Session 3 Day 1, sslc data parsing obtaining statistics.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
120
diff
changeset
|
396 |
data[k]['sub_std'] = sub_std |
120
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
397 |
\end{lstlisting} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
398 |
\end{frame} |
055b199c46c2
Added NumPy array operations to session3 day1 for sslc1.txt.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
117
diff
changeset
|
399 |
|
166
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
400 |
\begin{frame}[fragile] |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
401 |
\frametitle{New Concepts} |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
402 |
\begin{itemize} |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
403 |
\item Dictionaries |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
404 |
\item Slicing lists |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
405 |
\item New type of conditional |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
406 |
\item NumPy arrays |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
407 |
\item Slicing NumPy arrays |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
408 |
\item NumPy array operations - square, average, sqrt |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
409 |
\end{itemize} |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
410 |
\end{frame} |
ddfd95133adc
Taken task based approach for Session 3, day 1.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
161
diff
changeset
|
411 |
|
115 | 412 |
\end{document} |