├── Chapter2_Visualize_Multivariate_Data.ipynb
├── Chapter3_PCA.ipynb
├── Chapter_4_MDS.ipynb
├── Chapter_5_Factor_Analysis.ipynb
├── Chapter_6_Cluster_Analysis.ipynb
├── Exam01.MD
├── Function_Numpy_Pandas.ipynb
├── Intro_to_Multivariate.ipynb
├── KKUlogo.png
├── MVA001.ipynb
├── Python101.ipynb
└── README.md
/Chapter_5_Factor_Analysis.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "nbformat": 4,
3 | "nbformat_minor": 0,
4 | "metadata": {
5 | "colab": {
6 | "name": "Chapter 5 Factor Analysis.ipynb",
7 | "provenance": [],
8 | "authorship_tag": "ABX9TyMoIGr/V0o7OZLNL+yP4qGe",
9 | "include_colab_link": true
10 | },
11 | "kernelspec": {
12 | "name": "python3",
13 | "display_name": "Python 3"
14 | },
15 | "language_info": {
16 | "name": "python"
17 | }
18 | },
19 | "cells": [
20 | {
21 | "cell_type": "markdown",
22 | "metadata": {
23 | "id": "view-in-github",
24 | "colab_type": "text"
25 | },
26 | "source": [
27 | "
"
28 | ]
29 | },
30 | {
31 | "cell_type": "markdown",
32 | "metadata": {
33 | "id": "paGuFRdZEbiq"
34 | },
35 | "source": [
36 | "https://www.datacamp.com/community/tutorials/introduction-factor-analysis\n",
37 | "\n"
38 | ]
39 | },
40 | {
41 | "cell_type": "code",
42 | "metadata": {
43 | "id": "ati_OmprDAN0"
44 | },
45 | "source": [
46 | "import pandas as pd"
47 | ],
48 | "execution_count": 1,
49 | "outputs": []
50 | },
51 | {
52 | "cell_type": "code",
53 | "metadata": {
54 | "colab": {
55 | "base_uri": "https://localhost:8080/",
56 | "height": 204
57 | },
58 | "id": "eCzUN4fsGRnR",
59 | "outputId": "64b38739-01aa-4f66-9cdd-25d59d5d7ce6"
60 | },
61 | "source": [
62 | "BFI_data = pd.read_csv('https://vincentarelbundock.github.io/Rdatasets/csv/psych/bfi.csv')\n",
63 | "BFI_data.head()"
64 | ],
65 | "execution_count": 2,
66 | "outputs": [
67 | {
68 | "output_type": "execute_result",
69 | "data": {
70 | "text/html": [
71 | "
\n",
72 | "\n",
85 | "
\n",
86 | " \n",
87 | " \n",
88 | " | \n",
89 | " Unnamed: 0 | \n",
90 | " A1 | \n",
91 | " A2 | \n",
92 | " A3 | \n",
93 | " A4 | \n",
94 | " A5 | \n",
95 | " C1 | \n",
96 | " C2 | \n",
97 | " C3 | \n",
98 | " C4 | \n",
99 | " C5 | \n",
100 | " E1 | \n",
101 | " E2 | \n",
102 | " E3 | \n",
103 | " E4 | \n",
104 | " E5 | \n",
105 | " N1 | \n",
106 | " N2 | \n",
107 | " N3 | \n",
108 | " N4 | \n",
109 | " N5 | \n",
110 | " O1 | \n",
111 | " O2 | \n",
112 | " O3 | \n",
113 | " O4 | \n",
114 | " O5 | \n",
115 | " gender | \n",
116 | " education | \n",
117 | " age | \n",
118 | "
\n",
119 | " \n",
120 | " \n",
121 | " \n",
122 | " 0 | \n",
123 | " 61617 | \n",
124 | " 2.0 | \n",
125 | " 4.0 | \n",
126 | " 3.0 | \n",
127 | " 4.0 | \n",
128 | " 4.0 | \n",
129 | " 2.0 | \n",
130 | " 3.0 | \n",
131 | " 3.0 | \n",
132 | " 4.0 | \n",
133 | " 4.0 | \n",
134 | " 3.0 | \n",
135 | " 3.0 | \n",
136 | " 3.0 | \n",
137 | " 4.0 | \n",
138 | " 4.0 | \n",
139 | " 3.0 | \n",
140 | " 4.0 | \n",
141 | " 2.0 | \n",
142 | " 2.0 | \n",
143 | " 3.0 | \n",
144 | " 3.0 | \n",
145 | " 6 | \n",
146 | " 3.0 | \n",
147 | " 4.0 | \n",
148 | " 3.0 | \n",
149 | " 1 | \n",
150 | " NaN | \n",
151 | " 16 | \n",
152 | "
\n",
153 | " \n",
154 | " 1 | \n",
155 | " 61618 | \n",
156 | " 2.0 | \n",
157 | " 4.0 | \n",
158 | " 5.0 | \n",
159 | " 2.0 | \n",
160 | " 5.0 | \n",
161 | " 5.0 | \n",
162 | " 4.0 | \n",
163 | " 4.0 | \n",
164 | " 3.0 | \n",
165 | " 4.0 | \n",
166 | " 1.0 | \n",
167 | " 1.0 | \n",
168 | " 6.0 | \n",
169 | " 4.0 | \n",
170 | " 3.0 | \n",
171 | " 3.0 | \n",
172 | " 3.0 | \n",
173 | " 3.0 | \n",
174 | " 5.0 | \n",
175 | " 5.0 | \n",
176 | " 4.0 | \n",
177 | " 2 | \n",
178 | " 4.0 | \n",
179 | " 3.0 | \n",
180 | " 3.0 | \n",
181 | " 2 | \n",
182 | " NaN | \n",
183 | " 18 | \n",
184 | "
\n",
185 | " \n",
186 | " 2 | \n",
187 | " 61620 | \n",
188 | " 5.0 | \n",
189 | " 4.0 | \n",
190 | " 5.0 | \n",
191 | " 4.0 | \n",
192 | " 4.0 | \n",
193 | " 4.0 | \n",
194 | " 5.0 | \n",
195 | " 4.0 | \n",
196 | " 2.0 | \n",
197 | " 5.0 | \n",
198 | " 2.0 | \n",
199 | " 4.0 | \n",
200 | " 4.0 | \n",
201 | " 4.0 | \n",
202 | " 5.0 | \n",
203 | " 4.0 | \n",
204 | " 5.0 | \n",
205 | " 4.0 | \n",
206 | " 2.0 | \n",
207 | " 3.0 | \n",
208 | " 4.0 | \n",
209 | " 2 | \n",
210 | " 5.0 | \n",
211 | " 5.0 | \n",
212 | " 2.0 | \n",
213 | " 2 | \n",
214 | " NaN | \n",
215 | " 17 | \n",
216 | "
\n",
217 | " \n",
218 | " 3 | \n",
219 | " 61621 | \n",
220 | " 4.0 | \n",
221 | " 4.0 | \n",
222 | " 6.0 | \n",
223 | " 5.0 | \n",
224 | " 5.0 | \n",
225 | " 4.0 | \n",
226 | " 4.0 | \n",
227 | " 3.0 | \n",
228 | " 5.0 | \n",
229 | " 5.0 | \n",
230 | " 5.0 | \n",
231 | " 3.0 | \n",
232 | " 4.0 | \n",
233 | " 4.0 | \n",
234 | " 4.0 | \n",
235 | " 2.0 | \n",
236 | " 5.0 | \n",
237 | " 2.0 | \n",
238 | " 4.0 | \n",
239 | " 1.0 | \n",
240 | " 3.0 | \n",
241 | " 3 | \n",
242 | " 4.0 | \n",
243 | " 3.0 | \n",
244 | " 5.0 | \n",
245 | " 2 | \n",
246 | " NaN | \n",
247 | " 17 | \n",
248 | "
\n",
249 | " \n",
250 | " 4 | \n",
251 | " 61622 | \n",
252 | " 2.0 | \n",
253 | " 3.0 | \n",
254 | " 3.0 | \n",
255 | " 4.0 | \n",
256 | " 5.0 | \n",
257 | " 4.0 | \n",
258 | " 4.0 | \n",
259 | " 5.0 | \n",
260 | " 3.0 | \n",
261 | " 2.0 | \n",
262 | " 2.0 | \n",
263 | " 2.0 | \n",
264 | " 5.0 | \n",
265 | " 4.0 | \n",
266 | " 5.0 | \n",
267 | " 2.0 | \n",
268 | " 3.0 | \n",
269 | " 4.0 | \n",
270 | " 4.0 | \n",
271 | " 3.0 | \n",
272 | " 3.0 | \n",
273 | " 3 | \n",
274 | " 4.0 | \n",
275 | " 3.0 | \n",
276 | " 3.0 | \n",
277 | " 1 | \n",
278 | " NaN | \n",
279 | " 17 | \n",
280 | "
\n",
281 | " \n",
282 | "
\n",
283 | "
"
284 | ],
285 | "text/plain": [
286 | " Unnamed: 0 A1 A2 A3 A4 A5 ... O3 O4 O5 gender education age\n",
287 | "0 61617 2.0 4.0 3.0 4.0 4.0 ... 3.0 4.0 3.0 1 NaN 16\n",
288 | "1 61618 2.0 4.0 5.0 2.0 5.0 ... 4.0 3.0 3.0 2 NaN 18\n",
289 | "2 61620 5.0 4.0 5.0 4.0 4.0 ... 5.0 5.0 2.0 2 NaN 17\n",
290 | "3 61621 4.0 4.0 6.0 5.0 5.0 ... 4.0 3.0 5.0 2 NaN 17\n",
291 | "4 61622 2.0 3.0 3.0 4.0 5.0 ... 4.0 3.0 3.0 1 NaN 17\n",
292 | "\n",
293 | "[5 rows x 29 columns]"
294 | ]
295 | },
296 | "metadata": {
297 | "tags": []
298 | },
299 | "execution_count": 2
300 | }
301 | ]
302 | },
303 | {
304 | "cell_type": "markdown",
305 | "metadata": {
306 | "id": "6_QllhoJHoCp"
307 | },
308 | "source": [
309 | "## Factor Analysis'\n",
310 | "\n",
311 | "## Assumptions: \n",
312 | "\n",
313 | "ในข้อมูล multivariate ที่มีตัวแปร Observe Variables จำนวน n ตัว\n",
314 | "\n",
315 | "มีตัวแปร Factors (Latent Variables) จำนวน k ตัว ที่สามารถอธิบายข้อมูลทั้งหมดได้\n",
316 | "\n",
317 | "โดย k < n\n",
318 | "\n",
319 | "\n",
320 | "\n"
321 | ]
322 | },
323 | {
324 | "cell_type": "markdown",
325 | "metadata": {
326 | "id": "E_y7DZ3hKxug"
327 | },
328 | "source": [
329 | "Assumptions ในการทำ Factor Analysis:\n",
330 | "\n",
331 | "* There are no outliers in data.\n",
332 | "* Sample size should be greater than the factor.\n",
333 | "* There should not be ***perfect multicollinearity***.\n",
334 | "* There should not be ***homoscedasticity*** between the variables."
335 | ]
336 | },
337 | {
338 | "cell_type": "markdown",
339 | "metadata": {
340 | "id": "vQ3yJ_GVQmce"
341 | },
342 | "source": [
343 | "การทำ Factor Analysis มีประโยชน์หลัก 2 อันคือ\n",
344 | "1. Confirmatory\n",
345 | "2. Exploratory"
346 | ]
347 | },
348 | {
349 | "cell_type": "markdown",
350 | "metadata": {
351 | "id": "74OT_UwMOrSa"
352 | },
353 | "source": [
354 | "## การทำ Factor Analysis"
355 | ]
356 | },
357 | {
358 | "cell_type": "code",
359 | "metadata": {
360 | "colab": {
361 | "base_uri": "https://localhost:8080/",
362 | "height": 317
363 | },
364 | "id": "fDhq_X1ROqsD",
365 | "outputId": "6799ed35-be89-4e23-91e0-9f695f7d677e"
366 | },
367 | "source": [
368 | "from factor_analyzer import FactorAnalyzer\n",
369 | "import matplotlib.pyplot as plt"
370 | ],
371 | "execution_count": null,
372 | "outputs": [
373 | {
374 | "output_type": "error",
375 | "ename": "ModuleNotFoundError",
376 | "evalue": "ignored",
377 | "traceback": [
378 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
379 | "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
380 | "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mfactor_analyzer\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mFactorAnalyzer\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
381 | "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'factor_analyzer'",
382 | "",
383 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0;32m\nNOTE: If your import is failing due to a missing package, you can\nmanually install dependencies using either !pip or !apt.\n\nTo view examples of installing some common dependencies, click the\n\"Open Examples\" button below.\n\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n"
384 | ]
385 | }
386 | ]
387 | },
388 | {
389 | "cell_type": "markdown",
390 | "metadata": {
391 | "id": "BGUXudnCPnBl"
392 | },
393 | "source": [
394 | "แก้ error ```ModuleNotFoundError: No module named 'factor_analyzer'``` โดย https://stackoverflow.com/questions/61830329/modulenotfounderror-no-module-named-factor-analyzer-python-notebook"
395 | ]
396 | },
397 | {
398 | "cell_type": "markdown",
399 | "metadata": {
400 | "id": "s3DBAv08P7pD"
401 | },
402 | "source": [
403 | "วิธี install package อื่นๆ"
404 | ]
405 | },
406 | {
407 | "cell_type": "code",
408 | "metadata": {
409 | "colab": {
410 | "base_uri": "https://localhost:8080/"
411 | },
412 | "id": "fH4aukMnGi5E",
413 | "outputId": "82c53f8b-6bba-44cf-922e-fa1f3264e69f"
414 | },
415 | "source": [
416 | "!pip install factor_analyzer"
417 | ],
418 | "execution_count": 3,
419 | "outputs": [
420 | {
421 | "output_type": "stream",
422 | "text": [
423 | "Collecting factor_analyzer\n",
424 | "\u001b[?25l Downloading https://files.pythonhosted.org/packages/44/b5/cbd83484ca6dd4c6562c6d66a6a3a0ecf526e79b2b575b9fb4bf5ad172dd/factor_analyzer-0.3.2.tar.gz (40kB)\n",
425 | "\r\u001b[K |████████▏ | 10kB 13.3MB/s eta 0:00:01\r\u001b[K |████████████████▍ | 20kB 18.6MB/s eta 0:00:01\r\u001b[K |████████████████████████▌ | 30kB 22.3MB/s eta 0:00:01\r\u001b[K |████████████████████████████████| 40kB 4.4MB/s \n",
426 | "\u001b[?25hRequirement already satisfied: pandas in /usr/local/lib/python3.7/dist-packages (from factor_analyzer) (1.1.5)\n",
427 | "Requirement already satisfied: scipy in /usr/local/lib/python3.7/dist-packages (from factor_analyzer) (1.4.1)\n",
428 | "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from factor_analyzer) (1.19.5)\n",
429 | "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.7/dist-packages (from factor_analyzer) (0.22.2.post1)\n",
430 | "Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.7/dist-packages (from pandas->factor_analyzer) (2018.9)\n",
431 | "Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas->factor_analyzer) (2.8.1)\n",
432 | "Requirement already satisfied: joblib>=0.11 in /usr/local/lib/python3.7/dist-packages (from scikit-learn->factor_analyzer) (1.0.1)\n",
433 | "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.7.3->pandas->factor_analyzer) (1.15.0)\n",
434 | "Building wheels for collected packages: factor-analyzer\n",
435 | " Building wheel for factor-analyzer (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
436 | " Created wheel for factor-analyzer: filename=factor_analyzer-0.3.2-cp37-none-any.whl size=40383 sha256=1603bacfd5aa2442a19c69f7a467732f6084bb84bcdd8655d36675391b4d461b\n",
437 | " Stored in directory: /root/.cache/pip/wheels/4a/d0/57/f1330cb9c80e82d8d05391c74c94ed61ce3f03bf6157f3d6db\n",
438 | "Successfully built factor-analyzer\n",
439 | "Installing collected packages: factor-analyzer\n",
440 | "Successfully installed factor-analyzer-0.3.2\n"
441 | ],
442 | "name": "stdout"
443 | }
444 | ]
445 | },
446 | {
447 | "cell_type": "code",
448 | "metadata": {
449 | "id": "WNZ6s6d7P6fg"
450 | },
451 | "source": [
452 | "from factor_analyzer import FactorAnalyzer\n",
453 | "import matplotlib.pyplot as plt # = from matplotlib import pyplot as plt"
454 | ],
455 | "execution_count": 4,
456 | "outputs": []
457 | },
458 | {
459 | "cell_type": "markdown",
460 | "metadata": {
461 | "id": "Qob7AoYJSqw0"
462 | },
463 | "source": [
464 | "## Quiz 5 เลือกข้อมูลมาเฉพาะ a1,a2,a3,...,o3,o4,o5 ด้วยคำสั่ง ```.iloc[]```"
465 | ]
466 | },
467 | {
468 | "cell_type": "code",
469 | "metadata": {
470 | "id": "aHj2aVbJQVOf",
471 | "colab": {
472 | "base_uri": "https://localhost:8080/",
473 | "height": 419
474 | },
475 | "outputId": "968521a4-5f6e-44c7-c2a8-a2bd4fe130ad"
476 | },
477 | "source": [
478 | "BFI_data_dropped = BFI_data.iloc[:,1:-3]\n",
479 | "BFI_data_dropped"
480 | ],
481 | "execution_count": 5,
482 | "outputs": [
483 | {
484 | "output_type": "execute_result",
485 | "data": {
486 | "text/html": [
487 | "\n",
488 | "\n",
501 | "
\n",
502 | " \n",
503 | " \n",
504 | " | \n",
505 | " A1 | \n",
506 | " A2 | \n",
507 | " A3 | \n",
508 | " A4 | \n",
509 | " A5 | \n",
510 | " C1 | \n",
511 | " C2 | \n",
512 | " C3 | \n",
513 | " C4 | \n",
514 | " C5 | \n",
515 | " E1 | \n",
516 | " E2 | \n",
517 | " E3 | \n",
518 | " E4 | \n",
519 | " E5 | \n",
520 | " N1 | \n",
521 | " N2 | \n",
522 | " N3 | \n",
523 | " N4 | \n",
524 | " N5 | \n",
525 | " O1 | \n",
526 | " O2 | \n",
527 | " O3 | \n",
528 | " O4 | \n",
529 | " O5 | \n",
530 | "
\n",
531 | " \n",
532 | " \n",
533 | " \n",
534 | " 0 | \n",
535 | " 2.0 | \n",
536 | " 4.0 | \n",
537 | " 3.0 | \n",
538 | " 4.0 | \n",
539 | " 4.0 | \n",
540 | " 2.0 | \n",
541 | " 3.0 | \n",
542 | " 3.0 | \n",
543 | " 4.0 | \n",
544 | " 4.0 | \n",
545 | " 3.0 | \n",
546 | " 3.0 | \n",
547 | " 3.0 | \n",
548 | " 4.0 | \n",
549 | " 4.0 | \n",
550 | " 3.0 | \n",
551 | " 4.0 | \n",
552 | " 2.0 | \n",
553 | " 2.0 | \n",
554 | " 3.0 | \n",
555 | " 3.0 | \n",
556 | " 6 | \n",
557 | " 3.0 | \n",
558 | " 4.0 | \n",
559 | " 3.0 | \n",
560 | "
\n",
561 | " \n",
562 | " 1 | \n",
563 | " 2.0 | \n",
564 | " 4.0 | \n",
565 | " 5.0 | \n",
566 | " 2.0 | \n",
567 | " 5.0 | \n",
568 | " 5.0 | \n",
569 | " 4.0 | \n",
570 | " 4.0 | \n",
571 | " 3.0 | \n",
572 | " 4.0 | \n",
573 | " 1.0 | \n",
574 | " 1.0 | \n",
575 | " 6.0 | \n",
576 | " 4.0 | \n",
577 | " 3.0 | \n",
578 | " 3.0 | \n",
579 | " 3.0 | \n",
580 | " 3.0 | \n",
581 | " 5.0 | \n",
582 | " 5.0 | \n",
583 | " 4.0 | \n",
584 | " 2 | \n",
585 | " 4.0 | \n",
586 | " 3.0 | \n",
587 | " 3.0 | \n",
588 | "
\n",
589 | " \n",
590 | " 2 | \n",
591 | " 5.0 | \n",
592 | " 4.0 | \n",
593 | " 5.0 | \n",
594 | " 4.0 | \n",
595 | " 4.0 | \n",
596 | " 4.0 | \n",
597 | " 5.0 | \n",
598 | " 4.0 | \n",
599 | " 2.0 | \n",
600 | " 5.0 | \n",
601 | " 2.0 | \n",
602 | " 4.0 | \n",
603 | " 4.0 | \n",
604 | " 4.0 | \n",
605 | " 5.0 | \n",
606 | " 4.0 | \n",
607 | " 5.0 | \n",
608 | " 4.0 | \n",
609 | " 2.0 | \n",
610 | " 3.0 | \n",
611 | " 4.0 | \n",
612 | " 2 | \n",
613 | " 5.0 | \n",
614 | " 5.0 | \n",
615 | " 2.0 | \n",
616 | "
\n",
617 | " \n",
618 | " 3 | \n",
619 | " 4.0 | \n",
620 | " 4.0 | \n",
621 | " 6.0 | \n",
622 | " 5.0 | \n",
623 | " 5.0 | \n",
624 | " 4.0 | \n",
625 | " 4.0 | \n",
626 | " 3.0 | \n",
627 | " 5.0 | \n",
628 | " 5.0 | \n",
629 | " 5.0 | \n",
630 | " 3.0 | \n",
631 | " 4.0 | \n",
632 | " 4.0 | \n",
633 | " 4.0 | \n",
634 | " 2.0 | \n",
635 | " 5.0 | \n",
636 | " 2.0 | \n",
637 | " 4.0 | \n",
638 | " 1.0 | \n",
639 | " 3.0 | \n",
640 | " 3 | \n",
641 | " 4.0 | \n",
642 | " 3.0 | \n",
643 | " 5.0 | \n",
644 | "
\n",
645 | " \n",
646 | " 4 | \n",
647 | " 2.0 | \n",
648 | " 3.0 | \n",
649 | " 3.0 | \n",
650 | " 4.0 | \n",
651 | " 5.0 | \n",
652 | " 4.0 | \n",
653 | " 4.0 | \n",
654 | " 5.0 | \n",
655 | " 3.0 | \n",
656 | " 2.0 | \n",
657 | " 2.0 | \n",
658 | " 2.0 | \n",
659 | " 5.0 | \n",
660 | " 4.0 | \n",
661 | " 5.0 | \n",
662 | " 2.0 | \n",
663 | " 3.0 | \n",
664 | " 4.0 | \n",
665 | " 4.0 | \n",
666 | " 3.0 | \n",
667 | " 3.0 | \n",
668 | " 3 | \n",
669 | " 4.0 | \n",
670 | " 3.0 | \n",
671 | " 3.0 | \n",
672 | "
\n",
673 | " \n",
674 | " ... | \n",
675 | " ... | \n",
676 | " ... | \n",
677 | " ... | \n",
678 | " ... | \n",
679 | " ... | \n",
680 | " ... | \n",
681 | " ... | \n",
682 | " ... | \n",
683 | " ... | \n",
684 | " ... | \n",
685 | " ... | \n",
686 | " ... | \n",
687 | " ... | \n",
688 | " ... | \n",
689 | " ... | \n",
690 | " ... | \n",
691 | " ... | \n",
692 | " ... | \n",
693 | " ... | \n",
694 | " ... | \n",
695 | " ... | \n",
696 | " ... | \n",
697 | " ... | \n",
698 | " ... | \n",
699 | " ... | \n",
700 | "
\n",
701 | " \n",
702 | " 2795 | \n",
703 | " 6.0 | \n",
704 | " 1.0 | \n",
705 | " 3.0 | \n",
706 | " 3.0 | \n",
707 | " 3.0 | \n",
708 | " 6.0 | \n",
709 | " 6.0 | \n",
710 | " 6.0 | \n",
711 | " 1.0 | \n",
712 | " 1.0 | \n",
713 | " 1.0 | \n",
714 | " 4.0 | \n",
715 | " 5.0 | \n",
716 | " 5.0 | \n",
717 | " 6.0 | \n",
718 | " 1.0 | \n",
719 | " 1.0 | \n",
720 | " 1.0 | \n",
721 | " NaN | \n",
722 | " 1.0 | \n",
723 | " 6.0 | \n",
724 | " 1 | \n",
725 | " 6.0 | \n",
726 | " 6.0 | \n",
727 | " 1.0 | \n",
728 | "
\n",
729 | " \n",
730 | " 2796 | \n",
731 | " 2.0 | \n",
732 | " 4.0 | \n",
733 | " 4.0 | \n",
734 | " 3.0 | \n",
735 | " 5.0 | \n",
736 | " 2.0 | \n",
737 | " 3.0 | \n",
738 | " 4.0 | \n",
739 | " 4.0 | \n",
740 | " 3.0 | \n",
741 | " 2.0 | \n",
742 | " 2.0 | \n",
743 | " 4.0 | \n",
744 | " 4.0 | \n",
745 | " 3.0 | \n",
746 | " NaN | \n",
747 | " 3.0 | \n",
748 | " 2.0 | \n",
749 | " 3.0 | \n",
750 | " 3.0 | \n",
751 | " 6.0 | \n",
752 | " 3 | \n",
753 | " 5.0 | \n",
754 | " 4.0 | \n",
755 | " 2.0 | \n",
756 | "
\n",
757 | " \n",
758 | " 2797 | \n",
759 | " 2.0 | \n",
760 | " 3.0 | \n",
761 | " 5.0 | \n",
762 | " 2.0 | \n",
763 | " 5.0 | \n",
764 | " 5.0 | \n",
765 | " 5.0 | \n",
766 | " 5.0 | \n",
767 | " 1.0 | \n",
768 | " 1.0 | \n",
769 | " 2.0 | \n",
770 | " 2.0 | \n",
771 | " 6.0 | \n",
772 | " 3.0 | \n",
773 | " 6.0 | \n",
774 | " 3.0 | \n",
775 | " 4.0 | \n",
776 | " 3.0 | \n",
777 | " 3.0 | \n",
778 | " 1.0 | \n",
779 | " 5.0 | \n",
780 | " 1 | \n",
781 | " 6.0 | \n",
782 | " 4.0 | \n",
783 | " 3.0 | \n",
784 | "
\n",
785 | " \n",
786 | " 2798 | \n",
787 | " 5.0 | \n",
788 | " 2.0 | \n",
789 | " 2.0 | \n",
790 | " 4.0 | \n",
791 | " 4.0 | \n",
792 | " 5.0 | \n",
793 | " 5.0 | \n",
794 | " 5.0 | \n",
795 | " 2.0 | \n",
796 | " 6.0 | \n",
797 | " 2.0 | \n",
798 | " 2.0 | \n",
799 | " 4.0 | \n",
800 | " 5.0 | \n",
801 | " 4.0 | \n",
802 | " 5.0 | \n",
803 | " 5.0 | \n",
804 | " 6.0 | \n",
805 | " 4.0 | \n",
806 | " 1.0 | \n",
807 | " 5.0 | \n",
808 | " 2 | \n",
809 | " 5.0 | \n",
810 | " 5.0 | \n",
811 | " 1.0 | \n",
812 | "
\n",
813 | " \n",
814 | " 2799 | \n",
815 | " 2.0 | \n",
816 | " 3.0 | \n",
817 | " 1.0 | \n",
818 | " 4.0 | \n",
819 | " 2.0 | \n",
820 | " 5.0 | \n",
821 | " 5.0 | \n",
822 | " 3.0 | \n",
823 | " 3.0 | \n",
824 | " 3.0 | \n",
825 | " 3.0 | \n",
826 | " 3.0 | \n",
827 | " 1.0 | \n",
828 | " 2.0 | \n",
829 | " 2.0 | \n",
830 | " 1.0 | \n",
831 | " 2.0 | \n",
832 | " 2.0 | \n",
833 | " 1.0 | \n",
834 | " 1.0 | \n",
835 | " 3.0 | \n",
836 | " 1 | \n",
837 | " 3.0 | \n",
838 | " 5.0 | \n",
839 | " 1.0 | \n",
840 | "
\n",
841 | " \n",
842 | "
\n",
843 | "
2800 rows × 25 columns
\n",
844 | "
"
845 | ],
846 | "text/plain": [
847 | " A1 A2 A3 A4 A5 C1 C2 ... N4 N5 O1 O2 O3 O4 O5\n",
848 | "0 2.0 4.0 3.0 4.0 4.0 2.0 3.0 ... 2.0 3.0 3.0 6 3.0 4.0 3.0\n",
849 | "1 2.0 4.0 5.0 2.0 5.0 5.0 4.0 ... 5.0 5.0 4.0 2 4.0 3.0 3.0\n",
850 | "2 5.0 4.0 5.0 4.0 4.0 4.0 5.0 ... 2.0 3.0 4.0 2 5.0 5.0 2.0\n",
851 | "3 4.0 4.0 6.0 5.0 5.0 4.0 4.0 ... 4.0 1.0 3.0 3 4.0 3.0 5.0\n",
852 | "4 2.0 3.0 3.0 4.0 5.0 4.0 4.0 ... 4.0 3.0 3.0 3 4.0 3.0 3.0\n",
853 | "... ... ... ... ... ... ... ... ... ... ... ... .. ... ... ...\n",
854 | "2795 6.0 1.0 3.0 3.0 3.0 6.0 6.0 ... NaN 1.0 6.0 1 6.0 6.0 1.0\n",
855 | "2796 2.0 4.0 4.0 3.0 5.0 2.0 3.0 ... 3.0 3.0 6.0 3 5.0 4.0 2.0\n",
856 | "2797 2.0 3.0 5.0 2.0 5.0 5.0 5.0 ... 3.0 1.0 5.0 1 6.0 4.0 3.0\n",
857 | "2798 5.0 2.0 2.0 4.0 4.0 5.0 5.0 ... 4.0 1.0 5.0 2 5.0 5.0 1.0\n",
858 | "2799 2.0 3.0 1.0 4.0 2.0 5.0 5.0 ... 1.0 1.0 3.0 1 3.0 5.0 1.0\n",
859 | "\n",
860 | "[2800 rows x 25 columns]"
861 | ]
862 | },
863 | "metadata": {
864 | "tags": []
865 | },
866 | "execution_count": 5
867 | }
868 | ]
869 | },
870 | {
871 | "cell_type": "code",
872 | "metadata": {
873 | "id": "nbDb5e5yygwT"
874 | },
875 | "source": [
876 | "BFI_data_dropped = BFI_data_dropped.dropna()"
877 | ],
878 | "execution_count": 6,
879 | "outputs": []
880 | },
881 | {
882 | "cell_type": "code",
883 | "metadata": {
884 | "id": "tslCUQpn0WJI",
885 | "colab": {
886 | "base_uri": "https://localhost:8080/"
887 | },
888 | "outputId": "607be4e3-9023-46e3-e1a0-001bb9f9af0e"
889 | },
890 | "source": [
891 | "BFI_data_dropped.shape"
892 | ],
893 | "execution_count": 7,
894 | "outputs": [
895 | {
896 | "output_type": "execute_result",
897 | "data": {
898 | "text/plain": [
899 | "(2436, 25)"
900 | ]
901 | },
902 | "metadata": {
903 | "tags": []
904 | },
905 | "execution_count": 7
906 | }
907 | ]
908 | },
909 | {
910 | "cell_type": "markdown",
911 | "metadata": {
912 | "id": "AwQkUuki06XL"
913 | },
914 | "source": [
915 | "## Bartlett’s test"
916 | ]
917 | },
918 | {
919 | "cell_type": "markdown",
920 | "metadata": {
921 | "id": "BDKzTgeJIWjz"
922 | },
923 | "source": [
924 | "p value เข้าใกล้ 0 ดี"
925 | ]
926 | },
927 | {
928 | "cell_type": "code",
929 | "metadata": {
930 | "id": "VAudD-dR0YnQ",
931 | "colab": {
932 | "base_uri": "https://localhost:8080/"
933 | },
934 | "outputId": "a6c71c9e-8c41-4cb9-892e-6efa2c7d99d2"
935 | },
936 | "source": [
937 | "from factor_analyzer.factor_analyzer import calculate_bartlett_sphericity\n",
938 | "\n",
939 | "chi_square_value,p_value = calculate_bartlett_sphericity(BFI_data_dropped)\n",
940 | "\n",
941 | "chi_square_value, p_value"
942 | ],
943 | "execution_count": 8,
944 | "outputs": [
945 | {
946 | "output_type": "execute_result",
947 | "data": {
948 | "text/plain": [
949 | "(18170.966350869243, 0.0)"
950 | ]
951 | },
952 | "metadata": {
953 | "tags": []
954 | },
955 | "execution_count": 8
956 | }
957 | ]
958 | },
959 | {
960 | "cell_type": "markdown",
961 | "metadata": {
962 | "id": "glVPufQp2QxU"
963 | },
964 | "source": [
965 | "## Kaiser-Meyer-Olkin (KMO) Test"
966 | ]
967 | },
968 | {
969 | "cell_type": "markdown",
970 | "metadata": {
971 | "id": "LzY0HTZl28ru"
972 | },
973 | "source": [
974 | "ถ้าค่า KMO model มีค่ามากกว่า 0.6 แปลว่าข้อมูลเหมาะสมที่นำไปทำ Factor Analysis"
975 | ]
976 | },
977 | {
978 | "cell_type": "code",
979 | "metadata": {
980 | "id": "g_aYnoxh1Iyn",
981 | "colab": {
982 | "base_uri": "https://localhost:8080/"
983 | },
984 | "outputId": "2488b920-44ad-4834-a14e-449e9ff7d409"
985 | },
986 | "source": [
987 | "from factor_analyzer.factor_analyzer import calculate_kmo\n",
988 | "\n",
989 | "kmo_all,kmo_model=calculate_kmo(BFI_data_dropped)\n",
990 | "\n",
991 | "kmo_model"
992 | ],
993 | "execution_count": 9,
994 | "outputs": [
995 | {
996 | "output_type": "execute_result",
997 | "data": {
998 | "text/plain": [
999 | "0.8485397221949221"
1000 | ]
1001 | },
1002 | "metadata": {
1003 | "tags": []
1004 | },
1005 | "execution_count": 9
1006 | }
1007 | ]
1008 | },
1009 | {
1010 | "cell_type": "markdown",
1011 | "metadata": {
1012 | "id": "NNr12PVl4uoi"
1013 | },
1014 | "source": [
1015 | "## Factor Analysis"
1016 | ]
1017 | },
1018 | {
1019 | "cell_type": "markdown",
1020 | "metadata": {
1021 | "id": "jtJGxEye6PN9"
1022 | },
1023 | "source": [
1024 | "### Import"
1025 | ]
1026 | },
1027 | {
1028 | "cell_type": "code",
1029 | "metadata": {
1030 | "id": "HiIQ8zut6ROr"
1031 | },
1032 | "source": [
1033 | "from factor_analyzer import FactorAnalyzer"
1034 | ],
1035 | "execution_count": 10,
1036 | "outputs": []
1037 | },
1038 | {
1039 | "cell_type": "markdown",
1040 | "metadata": {
1041 | "id": "moQ2bWpo6Uzw"
1042 | },
1043 | "source": [
1044 | "### Define"
1045 | ]
1046 | },
1047 | {
1048 | "cell_type": "code",
1049 | "metadata": {
1050 | "id": "kFKV5wyi6bgE"
1051 | },
1052 | "source": [
1053 | "fa = FactorAnalyzer(n_factors=20)"
1054 | ],
1055 | "execution_count": 11,
1056 | "outputs": []
1057 | },
1058 | {
1059 | "cell_type": "markdown",
1060 | "metadata": {
1061 | "id": "W8QsXN_l8V_9"
1062 | },
1063 | "source": [
1064 | "## Fit-transform"
1065 | ]
1066 | },
1067 | {
1068 | "cell_type": "code",
1069 | "metadata": {
1070 | "id": "P6eu1THq8tup"
1071 | },
1072 | "source": [
1073 | "data_fa = fa.fit_transform(BFI_data_dropped)"
1074 | ],
1075 | "execution_count": 12,
1076 | "outputs": []
1077 | },
1078 | {
1079 | "cell_type": "code",
1080 | "metadata": {
1081 | "id": "N7Ki_fwm87qn",
1082 | "colab": {
1083 | "base_uri": "https://localhost:8080/"
1084 | },
1085 | "outputId": "9e61ed08-2924-4377-c2fb-0e1c605c9da4"
1086 | },
1087 | "source": [
1088 | "data_fa.shape"
1089 | ],
1090 | "execution_count": 13,
1091 | "outputs": [
1092 | {
1093 | "output_type": "execute_result",
1094 | "data": {
1095 | "text/plain": [
1096 | "(2436, 20)"
1097 | ]
1098 | },
1099 | "metadata": {
1100 | "tags": []
1101 | },
1102 | "execution_count": 13
1103 | }
1104 | ]
1105 | },
1106 | {
1107 | "cell_type": "markdown",
1108 | "metadata": {
1109 | "id": "r0XYOQh8-dqR"
1110 | },
1111 | "source": [
1112 | "## วิธีตัดสินว่าเราจะลดเหลือกี่ dimension (มี factors ทั้งหมดกี่ตัว)"
1113 | ]
1114 | },
1115 | {
1116 | "cell_type": "code",
1117 | "metadata": {
1118 | "id": "KbvyZKwP87mV"
1119 | },
1120 | "source": [
1121 | "ev,v = fa.get_eigenvalues()"
1122 | ],
1123 | "execution_count": 14,
1124 | "outputs": []
1125 | },
1126 | {
1127 | "cell_type": "markdown",
1128 | "metadata": {
1129 | "id": "iOfcouP4-uk0"
1130 | },
1131 | "source": [
1132 | "### ใช้ eigen values"
1133 | ]
1134 | },
1135 | {
1136 | "cell_type": "code",
1137 | "metadata": {
1138 | "id": "RY-dg3JA9plt",
1139 | "colab": {
1140 | "base_uri": "https://localhost:8080/"
1141 | },
1142 | "outputId": "d2e9871a-67d4-4bf7-b382-f9afdc4c2256"
1143 | },
1144 | "source": [
1145 | "ev"
1146 | ],
1147 | "execution_count": 15,
1148 | "outputs": [
1149 | {
1150 | "output_type": "execute_result",
1151 | "data": {
1152 | "text/plain": [
1153 | "array([5.13431118, 2.75188667, 2.14270195, 1.85232761, 1.54816285,\n",
1154 | " 1.07358247, 0.83953893, 0.79920618, 0.71898919, 0.68808879,\n",
1155 | " 0.67637336, 0.65179984, 0.62325295, 0.59656284, 0.56309083,\n",
1156 | " 0.54330533, 0.51451752, 0.49450315, 0.48263952, 0.448921 ,\n",
1157 | " 0.42336611, 0.40067145, 0.38780448, 0.38185679, 0.26253902])"
1158 | ]
1159 | },
1160 | "metadata": {
1161 | "tags": []
1162 | },
1163 | "execution_count": 15
1164 | }
1165 | ]
1166 | },
1167 | {
1168 | "cell_type": "markdown",
1169 | "metadata": {
1170 | "id": "lgFykNPq_A_R"
1171 | },
1172 | "source": [
1173 | "## scree plot"
1174 | ]
1175 | },
1176 | {
1177 | "cell_type": "code",
1178 | "metadata": {
1179 | "id": "sm6haZqc8tkm",
1180 | "colab": {
1181 | "base_uri": "https://localhost:8080/",
1182 | "height": 295
1183 | },
1184 | "outputId": "4e0c6f9c-7d62-4757-ad3b-ee438aa9d066"
1185 | },
1186 | "source": [
1187 | "# Create scree plot using matplotlib\n",
1188 | "plt.plot(range(1,BFI_data_dropped.shape[1]+1),ev,'bo-')\n",
1189 | "plt.plot([0,BFI_data_dropped.shape[1]+1],[1,1],'r--')\n",
1190 | "plt.title('Scree Plot')\n",
1191 | "plt.xlabel('Factors')\n",
1192 | "plt.ylabel('Eigenvalue')\n",
1193 | "plt.grid()\n",
1194 | "plt.show()"
1195 | ],
1196 | "execution_count": 16,
1197 | "outputs": [
1198 | {
1199 | "output_type": "display_data",
1200 | "data": {
1201 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEWCAYAAABsY4yMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deZgcVb3/8fc3C0kmk0DIMglM0hFQEJEbHFQEBYJcFkFFRQQDiApBMReCLBrD/Qk/DZuAgApXlO1CICC4YERFJRMEEUjYAiQEAskkJGQh62SALPO9f5xu0tPpnulZaqq7+vN6nnq6u6q665z05FPVp06dMndHRESSp0fcBRARkWgo4EVEEkoBLyKSUAp4EZGEUsCLiCSUAl5EJKEU8CIRM7PTzOzRuMshlUcBL2XHzD5pZv8ys3VmttrMHjOzj8ZcpovNbLOZNZrZ2nT5PtGBz6k3s9OjKKNUHgW8lBUzGwhMB34G7AzsClwCvNvOz+nV9aXjHnevBoYCjwK/NTOLYDsiRVHAS7n5AIC73+3uW939bXd/yN2fz6xgZmeY2Vwz22BmL5nZR9LzF5rZ98zseWCjmfUyswPSR9trzew5Mzs063N2NLObzWyZmb1hZj82s55tFdDdNwO3A8OBwbnLzexAM3sq/QvkKTM7MD1/CvAp4OfpXwI/79S/lFQ8BbyUm/nAVjO73cyONrNB2QvN7MvAxcCpwEDgc8BbWaucBBwD7ATUAH8Cfkz4NXA+cL+ZDU2vexuwBdgD2A84Amiz+cTM+gCnAYvdfVXOsp3T27yeEP7XAH8ys8HuPhn4JzDB3avdfUIR/x4iBSngpay4+3rgk4ADvwJWmtkDZlaTXuV04Ep3f8qDV919UdZHXO/ui939beBk4EF3f9Ddm939b8As4DPpz/sMMNHdN7r7CuCnwImtFO8EM1sLLAbqgC/kWecY4BV3v8Pdt7j73cA84LMd/CcRKSiKdkiRSLn7XMIRMma2F3AncC3h6HwksKCVty/Oep4Cvmxm2eHaG5iRXtYbWJbVjN4j5/257nX3k9so/i7Aopx5iwjnEkS6lAJeypq7zzOz24Az07MWA7u39pas54uBO9z9jNyVzGwE4cTtEHff0kXFBVhK2HlkGwX8JU/5RDpFTTRSVsxsLzM7z8xq069HEo7c/51e5dfA+WZWZ8EeZpYbqBl3Ap81syPNrKeZ9TWzQ82s1t2XAQ8BV5vZQDPrYWa7m9khnazCg8AHzOyr6ZO8XwH2JvQMAlgO7NbJbYgACngpPxuAjwNPmNlGQrC/AJwH4O6/AaYAd6XX/T3hBOp23H0x8HngB8BKwhH9BWz7f3EqsAPwErAGuA8Y0ZnCu/tbwLHp8r4FXAgcm3Uy9jrgeDNbY2bXd2ZbIqYbfoiIJJOO4EVEEkoBLyKSUAp4EZGEUsCLiCRUSfWDHzJkiI8ePbpD7924cSP9+/fv2gKVoEqpJ1ROXSulnlA5de3Oes6ePXuVuw/Nt6ykAn706NHMmjWrQ++tr6/n0EMP7doClaBKqSdUTl0rpZ5QOXXtznqaWe6V0e9RE42ISEIp4EVEEkoBLyKSUAp4EZGEUsCLiCRURQX81KkwejT06BEep06Nu0QiItEpqW6SUZo6FcaPh6am8HrRovAaYNy4+MolIhKVijmCnzx5W7hnNDWF+SIiSVQxAd/Q0L75IiLlrmICftSo9s0XESl3FRPwU6ZAVVXLeVVVYb6ISBJFepLVzBYSbpu2Fdji7vtHub3WZE6kTp4cTrBWVcFNN+kEq4gkV3f0ohmbdb/JWI0bF6axY2HTJoW7iCRbxTTRZEulwlG8iEiSRXrTbTN7nXA3egd+6e435VlnPDAeoKampm7atGkd2lZjYyPV1dVFrXvrraO5444Uf/3rI/TuXV43HW9PPctdpdS1UuoJlVPX7qzn2LFjZxds/nb3yCZg1/TjMOA54ODW1q+rq/OOmjFjRtHr3nyzO7gvWNDhzcWmPfUsd5VS10qpp3vl1LU76wnM8gKZGmkTjbu/kX5cAfwO+FiU2ytWKhUe1UwjIkkWWcCbWX8zG5B5DhwBvBDV9tpDAS8ilSDKXjQ1wO/MLLOdu9z9LxFur2gjR4ZHBbyIJFlkAe/urwH/EdXnd0afPjBihAJeRJKtIrtJgrpKikjyKeBFRBKqogN+8WJobo67JCIi0ajogN+0Cd58M+6SiIhEo6IDHtRMIyLJpYBXwItIQingFfAiklAVG/ADBsCgQQp4EUmuig14UFdJEUk2BbwCXkQSSgG/CCIcEl9EJDYVH/CNjbBmTdwlERHpehUf8KBmGhFJJgU8CngRSSYFPAp4EUmmig74IUOgXz8FvIgkU0UHvJm6SopIclV0wIMCXkSSSwGvgBeRhFLAp2DVKti4Me6SiIh0LQV8uidNQ0O85RAR6WoKeHWVFJGEUsAr4EUkoSo+4HfZBXr1UsCLSPJUfMD37Am1tQp4EUmeig94UFdJEUkmBTwKeBFJJgU8IeCXLoXNm+MuiYhI11HAEwK+uRmWLIm7JCIiXUcBj7pKikgyKeBRwItIMkUe8GbW08yeMbPpUW+ro0aODI8KeBFJku44gj8HmNsN2+mwvn1h+HAFvIgkS6QBb2a1wDHAr6PcTldQV0kRSRpz9+g+3Ow+4DJgAHC+ux+bZ53xwHiAmpqaumnTpnVoW42NjVRXV3e4rJdcsjevvFLNnXc+2eHP6A6drWc5qZS6Vko9oXLq2p31HDt27Gx33z/vQnePZAKOBW5IPz8UmN7We+rq6ryjZsyY0eH3urtfcIH7Dju4b93aqY+JXGfrWU4qpa6VUk/3yqlrd9YTmOUFMjXKJpqDgM+Z2UJgGnCYmd0Z4fY6JZWCTZtg+fK4SyIi0jUiC3h3n+Tute4+GjgReNjdT45qe52lrpIikjTqB5+mgBeRpOnVHRtx93qgvju21VEKeBFJGh3Bpw0cCDvtpIAXkeRQwGdRX3gRSRIFfBYFvIgkiQI+SybgI7z2S0Sk2yjgs6RSsGEDrF0bd0lERDpPAZ9FPWlEJEkU8FkU8CKSJAr4LAp4EUkSBXyWoUOhXz8FvIgkgwI+ixmMGqWAF5FkUMDnUF94EUkKBXwOBbyIJIUCPkcqBStXQlNT3CUREekcBXyOTE+ahoZ4yyEi0lkK+BzqKikiSaGAz5EJ+IULYy2GiEinKeBz7LIL9OypI3gRKX8K+By9ekFtrQJeRMqfAj4PdZUUkSRQwOehgBeRJFDA55FKwdKlsHlz3CUREek4BXweqRQ0N8OSJXGXRESk4xTweagvvIgkQVEBb2Y1Znazmf05/XpvM/tmtEWLjwJeRJKg2CP424C/ArukX88HJkZRoFIwalR4VMCLSDkrNuCHuPu9QDOAu28BtkZWqpj17Qs1NQp4ESlvxQb8RjMbDDiAmR0ArIusVCVAXSVFpNz1KnK97wIPALub2WPAUOD4yEpVAlIpeOaZuEshItJxRQW8uz9tZocAewIGvOzuie4lnkrBH/4Qukv2UF8jESlDRQW8mZ2aM+sjZoa7/28EZSoJqRRs2gTLl8OIEXGXRkSk/Yptovlo1vO+wKeBp4FEBzyEdngFvIiUo2KbaP4r+7WZ7QRMi6REJSI74A84IN6yiIh0REdblzcC72ttBTPra2ZPmtlzZvaimV3SwW3FQhc7iUi5K7YN/o+ku0gSdgp7A/e28bZ3gcPcvdHMegOPmtmf3f3fHS5tN9pxxzAp4EWkXBXbBn9V1vMtwCJ3b3UoLnd3oDH9snd68sLvKD3qCy8i5cxCDkf04WY9gdnAHsAv3P17edYZD4wHqKmpqZs2rWNN+42NjVRXV3eitNubPHkfli3ryy23zOrSz+2MKOpZqiqlrpVST6icunZnPceOHTvb3ffPu9DdC07ABmB9nmkDsL619+Z8zk7ADGCf1tarq6vzjpoxY0aH31vIhAnuAwa4Nzd3+Ud3WBT1LFWVUtdKqad75dS1O+sJzPICmdpqE427D+iKPYy7rzWzGcBRwAtd8ZndIZWCDRtg7VoYNCju0oiItE+7etGY2TAzG5WZ2lh3aLo7JWbWD/hPYF7Hi9r91JNGRMpZsePBf87MXgFeB2YCC4E/t/G2EcAMM3seeAr4m7tP70RZu50CXkTKWbG9aH4EHAD83d33M7OxwMmtvcHdnwf262T5YqWAF5FyVmwTzWZ3fwvoYWY93H0GkP+sbYIMGxbGhlfAi0g5Kjbg15pZNfAIMNXMriNczZpod90FW7bANdfA6NEwdWrcJRIRKV6xAf95oAk4F/gLsAD4bFSFKgVTp8L48SHgIRzFjx+vkBeR8lFswJ8JjHD3Le5+u7tfn26ySazJk6GpqeW8pqYwX0SkHBQb8AOAh8zsn2Y2wcxqoixUKWhoaN98EZFSU1TAu/sl7v4h4DuE7o8zzezvkZYsZqMK9PIvNF9EpNS0d7jgFcCbwFvAsK4vTumYMgWqqlrO69MnzBcRKQfFXuh0lpnVA/8ABgNnuPu+URYsbuPGwU03hb7wZuG+rLvvHuaLiJSDYo/gRwIT3f1D7n6xu78UZaFKxbhxsHBhuPH2FVfASy/Bk0/GXSoRkeIU2wY/CZhjZrsUOxZN0px5Zhhw7LLL4i6JiEhxim2imQAsB/4G/Ck9ldW4Mp01YABMmAC//304khcRKXXFNtFMBPZMN9F8OD0lug0+n7PPDideL7887pKIiLSt2IBfDKyLsiDlYMiQcDXrXXeFtnkRkVJWbMC/BtSb2SQz+25mirJgpeq880KPmquuantdEZE4FRvwDYT29x0IV7VmpopTWwunnAI33wzLl8ddGhGRwooaD97dLwEwsyp3b2pr/aS78EK49Va47jq49NK4SyMikl+xvWg+YWYvkb7lnpn9h5ndEGnJStiee8Lxx8MvfgHrKv7MhIiUqmKbaK4FjiQMUYC7PwccHFWhysGkSbB+PdxQsbs5ESl1RY9F4+6Lc2Zt7eKylJX99oMjj4Rrr4W33467NCIi2yu6m6SZHQi4mfU2s/OBuRGWqyxMmgQrVsAtt8RdEhGR7RUb8N8iDBW8K/AGMCb9uqIdfDAceCBceSVs3hx3aUREWip2LJpV7j7O3WvcfZi7n5z0OzoVwywcxTc0wN13x10aEZGWiuomaWbX55m9Dpjl7n/o2iKVl2OOgQ9/OAxfcPLJ4SIoEZFSUGwc9SU0y7ySnvYFaoFvmtm1EZWtLJjB978Pc+fCAw/EXRoRkW2KDfh9gbHu/jN3/xlwOLAX8AXgiKgKVy5OOAF22y0MJewed2lERIJiA34QUJ31uj+ws7tvBd7t8lKVmV69wtWtTz4JDz8cd2lERIJiA/5K4Fkzu9XMbgOeAX5iZv2BRN98u1hf+xoMHAjHHhva4UePhqlT4y6ViFSyYseiudnMHgQ+lp71A3dfmn5+QSQlKzP33x8ueMp0l1y0KAwtDLqPq4jEo9UjeDPbK/34EWAEYVz4xcDw9DxJmzx5+77wTU1hvohIHNo6gj8POAO4Os8yBw7r8hKVqYaG9s0XEYlaqwHv7mekH8d2T3HK16hRoVkmV21t95dFRATabqK5MOv5l3OWtToSupmNNLMZZvaSmb1oZud0rqilbcqUcL/WXH36wIYN3V8eEZG2etGcmPV8Us6yo9p47xbgPHffGzgA+I6Z7d3O8pWNcePgppsglQoXP6VScM458PrrcNRRCnkR6X5tBbwVeJ7vdQvuvszdn04/30AYfXLXdpewjIwbF27G3dwcHq+9Fu65B554Ao4+WiEvIt3LvJVLL83saXf/SO7zfK9b3YjZaOARYB93X5+zbDwwHqCmpqZu2rRp7a0DAI2NjVRXV7e9Ygzq64fyox/tzT77rOPyy+fQr1/Hh9Iv5Xp2tUqpa6XUEyqnrt1Zz7Fjx8529/3zLnT3ghPhph7rgQ2EJpf1Wa83t/berM+oBmYDX2xr3bq6Ou+oGTNmdPi93eGee9x79nQ/+GD3DRs6/jmlXs+uVCl1rZR6uldOXbuznoRBH/Nmalu9aHp2Zs9iZr2B+4Gp7v7bznxWuTvhhDBOzVe/Gq52/dOfoH//uEslIkkW2eC2ZmbAzcBcd78mqu2Uk698Be68E/75zxDyt9wShjTQ0AYiEoWihirooIOAU4A5ZvZset4P3P3BCLdZ8k46KRzJjxsHjzwSTsiChjYQka4X2RG8uz/q7ubu+7r7mPRU0eGe8dWvwuDB28I9Q0MbiEhX0v2HYrJ6df75GtpARLqKAj4mo0a1b76ISHsp4GOSb2iDnj3hxz+OpzwikjwK+JjkDm2w446wdSs8/rhu+yciXUMBH6PsoQ3WrIELLoAbboBJkxTyItJ5UXaTlHYwgyuugMbG8DhggHrUiEjnKOBLiBn8/Och5C+6CKqrw4iUIiIdoYAvMT16hCtcGxth4sRwJP+Nb8RdKhEpR2qDL0G9esHdd8ORR8IZZ8C998ZdIhEpRwr4EtWnD/z2t3DQQeFk7PTpcZdIRMqNAr6EVVWFYB8zBo47Dmpq4LDDDtHAZCJSFAV8iRs4EE4/PXSlXLEC3O29gckU8iLSGgV8Gbjssu37xWtgMhFpiwK+DBQagEwDk4lIaxTwZUADk4lIRyjgy0C+gcnM4JJL4imPiJQHBXwZaDkwmTNsWGiTX7Ik7pKJSClTwJeJzMBkDz88k+XL4fjjw9DCr78ed8lEpFQp4MvUT38axo/XWDUiUogCvkzV1sLFF8Mf/wgPPBB3aUSkFCngy9g558CHPgRnnx36xYuIZFPAl7HevcMNQhYtCj1tRESyKeDL3MEHw6mnwk9+AvPmxV0aESklCvgEuPJK6N8fJkzQrf5EZBsFfALU1IQmmn/8A+65J+7SiEipUMAnxJlnQl0dfPe7sH593KURkVKggE+Inj3hxhvhzTfhhz+MuzQiUgoU8Any0Y+GI/nrr4fnnou7NCISNwV8wlx6KQweDGedFW4SIiKVSwGfMIMGhV41//oXDBsGPXqgW/yJVKhecRdAul6vXiHY33orvM7c4g/CoGUiUhl0BJ9AF120ffOMbvEnUnkiC3gzu8XMVpjZC1FtQ/LTLf5EBKI9gr8NOCrCz5cCCt3Kb/jw7i2HiMQrsjZ4d3/EzEZH9fm5xkycCDvt1HLmCSeE7iRNTfCZz2z/ptNOC9OqVeEOGrm+/W34yldg8WI45ZTtl593Hnz2s/Dyy6F/Yq6LLoLDD4dnn4WJE7dffumlcOCB4YzoD36w/fJrr4UxY+Dvfw939wDGrF27rZ6//CXsuWcYM/jqq9972xP94OUeMK75DpYwkhO4h29zI/YmrNg7nHwF4L77YMgQuO22MOV68MFwr8AbboB7791+eX19eLzqKpg+veWyfv3gz38Oz3/0o3CZbbbBg+H++8PzSZPg8cdbLq+thdNPD88nTgz/htk+8IFwmysIJxjmz2+5fMyY8O8HcPLJ29/+6hOfgMsuC8+/9KVtJywyPv1p+O//Ds+PPhrefrvl8mOPhfPPD88PPZTttONvL+/fbgn+7bVQ4G/vPXfcASNHhkurb7zxvdnv/f2W+t/enXeG5x392zvuuPC82L+9TH26WOwnWc1sPDAeoKamhvoOVvTDW7eydu3aFvNWzJ/P0vp6erzzDvvmLAN4c9483qyvp/e6dXwoz/I3XnyRlfX19Fmxgg/mWb54zhzeGjCAfg0N7Jln+aLnnmNNr15Uv/oqe+RZ/trTT7N+0yYGvvACu+VZ/uqsWTSuXcug554jlV6+NaueLz/xBG8vW8bgOXMYmfX+Pn1gZO0ODG16hzfecnYauIna6rdZs6Y3L83txaq33mHE8Hd46bHH2LzjjgyfN4/hebb//COP0Ny3L7vMn8+wPMufTX9XIxcsYHDO8q1vv82c9PLU668zKGf55uZmXkwvf19DAzvmLH+3d28aGxupr69njyVLqM5Z3rR0KfPT7//A0qVU5SxvXLKEV9PLP7h8OX1ylq9raOD19PIPrVxJ75zLf9e8/jqL0ss/vHo1Pd99t8XytxYsYHF6+Zg8/zbt+dvbK8/fbin+7WUr9LeXMffxx3l3wQKGvvgiu2Ytz/z9vljif3tz08s7+reX+dst9m/v2YgCHnePbAJGAy8Uu35dXZ131IwZMzr83nLSmXq++677GWe4g/sxx7ivXdt15YqCvtPkqZS6dmc9gVleIFPVi6aC7LBD+GV9ww3w17/Cxz8efuGLSDIp4CuMWWje/cc/YPVq+NjHQnOniCRPlN0k7wYeB/Y0syVm9s2otiXtd/DB8NRTsNtu4XzhiSdCKqUrX0WSJLKAd/eT3H2Eu/d291p3vzmqbUnHpFLw2GOhqeaee0I/efdtV74WCvmpU8NOQDsDkdIWey8aiVdVFSxduv38pqbQS/HRR2GPPcK0++7hqH/ChG03+dYwCCKlSwEvLF6cf/4774QuyKtXt/7+zDAICniR0qKTrFLwytdUKlyDsXp1OHK/++7Cn7FoUbgu6NFHYcuWlsvUpCMSDwW8MGVKaKrJVlUV5kMYgnj//bediM2nT59wceSnPhUuFPziF0OXzGuvDU04ixYV174vIl1HAS+MGxeuvE6lQjfKVCq8ztfkUmhncPPN4Wj/vvvCFfazZ8O3vgXnnrutvT6jqSn/1fEZmSP+ww47pKgjfv1CEMlPbfAChDAvpg09s87kyaHXzahRIfQz87/0pTC5w7x5sPfe+T+noQF23TVMtbXbHhcuhFtvhTAygLV5Enfq1LC82JO+U6cWLrtI0ijgpd2K2RmYwQc/GH4NLFq0/fIdd4SjjgrjMM2fDw8/DOvW5f+spqYw3ta554ZfC/37h8eqKnjyyXAyOHf9c8+F978/DKw2bFhYt707A9AOQcqbAl4iNWVKy1CFELa/+MX2QdnYCAMHhqP/XO7hl0FTU5g2bgyPueGesXJl6N+f0b9/WHfr1pbrZXYGe+wBI0aEIZV32CEs0w5Byp0CXiLVVpNOturqsDzfEX8q1WLU2feMHp1//eHD4Ve/ghUrwrRyJVxzTf4yrlwJBxyw7fWQISHsX3kl/6+DCy8MI/UOGBB+qWR0ZIcgEiUFvESu2PZ9KHzEn+nRU+z6V10VhmDIdv/9hXcGv/41LFsWLvrKPM6Zk3+bS5eGJqa+fcN7hw+Hmpowvk+hE8qtnw84REf7EgkFvJSUlkf8zqhR1mrwtecXQms7g2OO2X79Qr8OBg8O94l4881t02uvhSamfBoawsnmUaPCPTBGjQrnHm6/vfiTyaDmH2k/BbyUnMwRf339TA7Nd7ekAusXsx4UH5KFdgjXXZf/PYV2CAMGhBPODQ3wzDOhySifpib4+tdD09KgQbDzztseX301BPymTWFd7RCkGAp4qSjtaS7qqh3CjTe2fM8774T5+U4mb94c5r/6KqxZE64izr1bYEZTE3zta+Fisl12CecNMo8vvxxOZGfOIXT1DkE7j/KggBdpRRQ7hL59Wz+ZPHNmy3mt7RC2bg1NRgsXhturrlpVuHyZXwi33rrtl0HmV8L8+eE2pJk7Ey5aBGecAevXw6mnhtuc9khfFtm53kU639CtCt3qKY5Jt+xrW6XU0z3Zdb3zTveqqnD7xMxUVRXm55NKtVw3M6VSLdd79133RYvczfKvD+4HHui+117uw4a59+pVeL3cqV8/98GD3Xv2zL98553dH3rIfd48940bO17XzHtSqVCPVKr1dUuRbtknUsFaDg/hrQ4PAW2PF5Sxww7h10FrA8g99hjMnQvLl4c2/Q0bWnb3zHXFFfDDH8J3vhOGoci9liBj9Wo44gjYa69w3cHQoVBXF34J5Otd9P3v5/+szC+EYscv0lAVrSiU/HFMOoJvW6XU071y6lpsPdtzVBvVL4TW1t11V/eZM93vuMN9yhT3M890P/ro1n8V9OjhXlPjvu++7ocf7j5unPuAAfnXHTnSvbm5c/Vs779jR9Z3L50jeLXBi5SJOE4Q57v+oNC6V1wRbgWZq1DvokGDwq+C5ctDz6Lly2HBgvCLIp/Fi8MvlCFDwjR0KDzxRP5fB+eeG0449+8fpurq8Dh9ethme8YuKueL1xTwIgkV1Q6hq3YeP/tZ+7qbDhoURihdtWrblBvuGStXwmGHFaxuC01NcNppcNll0Lt32In07h2mf/87/9XM5XKDGwW8iADt3yF0bOfR9sVr7dkhtDZUxbRpYcyixsZtj2efnX+bW7bAnnuGbqqZadOmwmMdNTS0WuWSoYAXkci15+K1rro6+ZBDtl//6qsLd0+9//7t5xfagbjDQQfBWWfB8ceHG96UIvWiEZGSM25c6Nvf3BweWxuqotib1UDxvZFaW79fv/D5K1fCySeH+xhMmhTK2d6b1URNR/AiUtaiPPnc2vrNzeE+BjfcAFdeCZdfDj17Zrp+Fje+UNQU8CJSUdqzQ2ht/R494PDDw7RkCeyzz/Y3rYn7hKyaaEREOqm2NgzrkE+cJ2QV8CIiXaDQ1cOF5ncHBbyISBdo7wnc7qCAFxHpAu0dX6g7KOBFRLpIpnvnww/PbLV7Z3dRwIuIJJQCXkQkoRTwIiIJpYAXEUkoBbyISEJZuCFIaTCzlUCesduKMgRo5ZbDiVEp9YTKqWul1BMqp67dWc+Uuw/Nt6CkAr4zzGyWu+8fdzmiVin1hMqpa6XUEyqnrqVSTzXRiIgklAJeRCShkhTwN8VdgG5SKfWEyqlrpdQTKqeuJVHPxLTBi4hIS0k6ghcRkSwKeBGRhCr7gDezo8zsZTN71cy+H3d5omRmC81sjpk9a2az4i5PVzKzW8xshZm9kDVvZzP7m5m9kn4cFGcZu0KBel5sZm+kv9dnzewzcZaxK5jZSDObYWYvmdmLZnZOen4Sv9NCdY39ey3rNngz6wnMB/4TWAI8BZzk7i/FWrCImNlCYH93T9yFImZ2MNAI/K+775OedyWw2t0vT++8B7n79+IsZ2cVqOfFQKO7XxVn2bqSmY0ARrj702Y2AJgNHAecRvK+00J1PYGYv9dyP4L/GPCqu7/m7puAacDnYy6TdIC7PwKszpn9eeD29PPbCf9pylqBeiaOuy9z96fTzzcAc4FdSeZ3WvxQr84AAAOMSURBVKiusSv3gN8VWJz1egkl8g8bEQceMrPZZjY+7sJ0gxp3X5Z+/iZQE2dhIjbBzJ5PN+GUfbNFNjMbDewHPEHCv9OcukLM32u5B3yl+aS7fwQ4GvhO+ud+RfDQlli+7YmtuxHYHRgDLAOujrc4XcfMqoH7gYnuvj57WdK+0zx1jf17LfeAfwMYmfW6Nj0vkdz9jfTjCuB3hCaqJFuebt/MtHOuiLk8kXD35e6+1d2bgV+RkO/VzHoTAm+qu/82PTuR32m+upbC91ruAf8U8H4ze5+Z7QCcCDwQc5kiYWb90ydwMLP+wBHAC62/q+w9AHwt/fxrwB9iLEtkMoGX9gUS8L2amQE3A3Pd/ZqsRYn7TgvVtRS+17LuRQOQ7np0LdATuMXdp8RcpEiY2W6Eo3aAXsBdSaqrmd0NHEoYZnU58EPg98C9wCjCMNInuHtZn6AsUM9DCT/jHVgInJnVTl2WzOyTwD+BOUBzevYPCG3TSftOC9X1JGL+Xss+4EVEJL9yb6IREZECFPAiIgmlgBcRSSgFvIhIQingRUQSSgEviWdmW7NG9Hs2fTl5e95/nJntHU3pRKLTK+4CiHSDt919TCfefxwwHSh6lFIz6+XuWzqxTZFOUz94STwza3T36qzX1YQrKAcBvYGL3P0P6WWnAucTLk55njCeyHRgXXr6EjAA+B+gClgAfMPd15hZPfAs8EngbqCBcCHTVmCdu1fM2EFSGhTwknhmtpVwlSHA68CXgSp3X29mQ4B/A+8H9iZcLXygu68ys53dfbWZ3QZMd/f70p/3PPBf7j7TzP4/MNDdJ6YD/iV3Pyu93hzgKHd/w8x2cve13VdrETXRSGVo0USTHhjq0vRonM2EIaZrgMOA32RuqJLvEnoz2xHYyd1npmfdDvwma5V7sp4/BtxmZvcCv0Wkm+kkq1SiccBQoC4d/MuBvl302RszT9z9W8BFhBFPZ5vZ4C7ahkhRFPBSiXYEVrj7ZjMbC6TS8x8GvpwJYjPbOT1/A6HdHXdfB6wxs0+ll50CzCQPM9vd3Z9w9/8HrKTl0NYikVMTjVSiqcAf023ks4B5AO7+oplNAWam2+2fIdxDdBrwKzM7GzieMMzt/5hZFfAa8PUC2/mJmb0fMOAfwHPRVUlkezrJKiKSUGqiERFJKAW8iEhCKeBFRBJKAS8iklAKeBGRhFLAi4gklAJeRCSh/g+2JFEhqbhynAAAAABJRU5ErkJggg==\n",
1202 | "text/plain": [
1203 | ""
1204 | ]
1205 | },
1206 | "metadata": {
1207 | "tags": [],
1208 | "needs_background": "light"
1209 | }
1210 | }
1211 | ]
1212 | },
1213 | {
1214 | "cell_type": "code",
1215 | "metadata": {
1216 | "id": "vv3Axn5s5gTJ",
1217 | "colab": {
1218 | "base_uri": "https://localhost:8080/"
1219 | },
1220 | "outputId": "a1cdfd4b-57f0-4c71-9658-41bab1cc9d2b"
1221 | },
1222 | "source": [
1223 | "data_fa[:,:6]"
1224 | ],
1225 | "execution_count": 17,
1226 | "outputs": [
1227 | {
1228 | "output_type": "execute_result",
1229 | "data": {
1230 | "text/plain": [
1231 | "array([[-0.89749661, -0.12809666, -1.22649076, 1.08665889, 0.42476701,\n",
1232 | " 0.03981611],\n",
1233 | " [ 0.33679356, -0.15018138, -0.04332274, -0.10339328, 0.29665648,\n",
1234 | " -1.11019718],\n",
1235 | " [-0.24521029, 0.80409961, 0.39343377, -0.30106518, 0.82703928,\n",
1236 | " -0.2982022 ],\n",
1237 | " ...,\n",
1238 | " [ 0.38724631, -0.02183587, 1.19616826, -1.19357208, 0.79669501,\n",
1239 | " -0.95295109],\n",
1240 | " [-0.75695976, 0.94984758, 1.24363484, -1.15230215, 2.2534133 ,\n",
1241 | " -1.0218667 ],\n",
1242 | " [-2.35583952, -1.49829856, 0.49436981, -1.64734311, 0.94742323,\n",
1243 | " 0.43462495]])"
1244 | ]
1245 | },
1246 | "metadata": {
1247 | "tags": []
1248 | },
1249 | "execution_count": 17
1250 | }
1251 | ]
1252 | },
1253 | {
1254 | "cell_type": "markdown",
1255 | "metadata": {
1256 | "id": "YQCo4ZaOCW3w"
1257 | },
1258 | "source": [
1259 | "## รัน Factor Analyzer อีกรอบ ด้วย paremeters จำนวน factor เท่ากับ 6"
1260 | ]
1261 | },
1262 | {
1263 | "cell_type": "code",
1264 | "metadata": {
1265 | "id": "hGV6ctdwCdSJ"
1266 | },
1267 | "source": [
1268 | "from factor_analyzer import FactorAnalyzer\n",
1269 | "fa2 = FactorAnalyzer(n_factors=6)\n",
1270 | "data_fa = fa2.fit_transform(BFI_data_dropped)"
1271 | ],
1272 | "execution_count": 19,
1273 | "outputs": []
1274 | },
1275 | {
1276 | "cell_type": "code",
1277 | "metadata": {
1278 | "id": "ogR_EpWyM33s",
1279 | "outputId": "9d427f3d-c381-48ec-c93d-d547ae96a70b",
1280 | "colab": {
1281 | "base_uri": "https://localhost:8080/"
1282 | }
1283 | },
1284 | "source": [
1285 | "fa2.loadings_.shape"
1286 | ],
1287 | "execution_count": 21,
1288 | "outputs": [
1289 | {
1290 | "output_type": "execute_result",
1291 | "data": {
1292 | "text/plain": [
1293 | "(25, 6)"
1294 | ]
1295 | },
1296 | "metadata": {
1297 | "tags": []
1298 | },
1299 | "execution_count": 21
1300 | }
1301 | ]
1302 | },
1303 | {
1304 | "cell_type": "markdown",
1305 | "metadata": {
1306 | "id": "IRjSUuKqOxNm"
1307 | },
1308 | "source": [
1309 | "#### Plot factor loadings"
1310 | ]
1311 | },
1312 | {
1313 | "cell_type": "code",
1314 | "metadata": {
1315 | "id": "esNwFLArNLem"
1316 | },
1317 | "source": [
1318 | "from matplotlib import pyplot as plt\n",
1319 | "import numpy as np\n",
1320 | "import matplotlib"
1321 | ],
1322 | "execution_count": 27,
1323 | "outputs": []
1324 | },
1325 | {
1326 | "cell_type": "markdown",
1327 | "metadata": {
1328 | "id": "iK8lmO3CRpJU"
1329 | },
1330 | "source": [
1331 | "# matrix plot\n",
1332 | "confirmatory"
1333 | ]
1334 | },
1335 | {
1336 | "cell_type": "code",
1337 | "metadata": {
1338 | "id": "6f4lU6LsPTWj",
1339 | "outputId": "83cd2518-ee3f-4011-b45c-3d771e95fef7",
1340 | "colab": {
1341 | "base_uri": "https://localhost:8080/",
1342 | "height": 880
1343 | }
1344 | },
1345 | "source": [
1346 | "matplotlib.rcParams['figure.figsize']=[15,15]\n",
1347 | "plt.imshow(np.absolute(fa2.loadings_))"
1348 | ],
1349 | "execution_count": 28,
1350 | "outputs": [
1351 | {
1352 | "output_type": "execute_result",
1353 | "data": {
1354 | "text/plain": [
1355 | ""
1356 | ]
1357 | },
1358 | "metadata": {
1359 | "tags": []
1360 | },
1361 | "execution_count": 28
1362 | },
1363 | {
1364 | "output_type": "display_data",
1365 | "data": {
1366 | "image/png": "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SigjSigjSigjSigjSigjSigjSigjSigjSigjSigjSigjSigjSigjSigjSigjSigjSigjSigjSigjSiiz0utTjp07s+PSv7DKkeu8/qrHFp2fw4eXnZ9k+xWXLb1CDu3evuj8S750cNH5SXLvcY47U0IZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUKZlV40du7akYNXXbzKkevc9/Wdi86//N3LX7D1nN/5w6VXyI6Lzl90/q47v77o/BNxpoQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyooQyK71o7Otf93Q+999vWuXIdf7az/+jReef85nlL9i67dqrl14h48CTi86fF79m0flJkm8e+7AzJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQ5aZRjjI+NMZ4YY9x11LF/OcZ4ZIxx59qfnzi9a8LW8UrOlL+e5F3HOP4f5pxvXfvzmc1dC7auk0Y557wtx/0hE2CzbeQx5QfHGH+09untnuPdaYxxwxhj/xhj/5NPH97AONgaTjXKX03yuiRvTfJokn9/vDvOOW+cc+6bc+67+MLtpzgOto5TinLO+fic8/Cc80iSX0ty3eauBVvXKUU5xth71M2/m+Su490X+PM56e/oGWN8PMnbk1w0xjiQ5F8kefsY461JZpIHk/zD07gjbCknjXLOef0xDn/0NOwCxHf0QB1RQhlRQhlRQhlRQhlRQhlRQhlRQhlRQhlRQpmVXp9yZubwPLLKkeuc9e1lf6Zz7Nq16PwkydPfXnqDHPnOM8vOv+LiReefiDMllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllFnpRWMfPXR2/vVTb17lyHV233b3ovOPPP/CovOTZBTskG1j0fHbH3p80fkn4kwJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZVZ6fcqnnz0v/+W2t61y5Dqvfv+yfw/t/R/fWHR+ksznn196hYwdK/3QW+fgNa9ddH6S5LFjH3amhDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKihDKrvXLnyOJ/DVxy+7OLzm+4YGsuuXDpDfLCJecuOv+s//vEovNPxJkSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyogSyqz0orG7H30xf/nfPrzKkescvOriRedv27590flJkjmX3iAPv/OsRefvfsuVi85PkvzysQ87U0IZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUIZUUKZk0Y5xrhijHHrGOOrY4y7xxgfWjv+mjHGLWOM+9Ze7jn968L3v1dypjyU5J/MOd+Y5EeS/NwY441JPpLk83POa5N8fu02sEEnjXLO+eic80trrz+b5J4klyV5T5Kb1u52U5L3nq4lYSv5c/085Rjj6iQ/mOQPklw653x07U2PJbn0OP/MDUluSJLd28871T1hy3jFT/SMMc5N8skkH55zPnP02+acM8kxf3J2znnjnHPfnHPfrm1nb2hZ2ApeUZRjjJ15KcjfmHN+au3w42OMvWtv35vkidOzImwtr+TZ15Hko0numXP+0lFvujnJ+9def3+S39789WDreSWPKX80yc8m+coY4861Y/8syS8m+a0xxgeSPJTk752eFWFrOWmUc84vJBnHefM7NncdwHf0QBlRQhlRQhlRQhlRQhlRQhlRQhlRQhlRQhlRQpmVXp8y27dlnn/OSke+3Pj9uxadnwvOX3Z+kiP3fX3pFfLi3gsWnf+XfvXRk9/pNDveR6IzJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZQRJZRZ6UVj5wsv5sj9D61y5Drf/pnrFp2/5zdvX3R+kmx71auWXiE5PBYd/43rr1p0fpLk3x37sDMllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllBEllFnpRWPHWbuy7eorVzlynZ1/emTR+fPQoUXnJ8m85rKlV8irv7xz0fnnPnJ40fkn4kwJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZUQJZVZ6fcr5/As5fN/XVzlynXMWnp8xlp2fZDx/cOkVsu1vP7Xo/PP/wXcWnX8izpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQRpRQZsw5VzdsjCeTPLSBd3FRkmWvNrr8DkvPt8Pmzb9qznnxyw+uNMqNGmPsn3Pu28o7LD3fDqd/vk9foYwoocyZFuWNSy+Q5XdYen5ih9M6/4x6TAlbwZl2poTve6KEMmdMlGOMd40x7h1j3D/G+MgC8z82xnhijHHXqmevzb9ijHHrGOOrY4y7xxgfWmCH3WOML44xvry2w79a9Q5re2wfY/zhGON3Fpr/4BjjK2OMO8cY+zf9/Z8JjynHGNuT/HGSdyY5kOT2JNfPOb+6wh3+RpLnkvznOedfWdXco+bvTbJ3zvmlMcZ5Se5I8t4V/zcYSc6Zcz43xtiZ5AtJPjTn/P1V7bC2x88n2Zfk/DnnT65y9tr8B5Psm3Oelm9eOFPOlNcluX/O+cCc88Ukn0jynlUuMOe8Lck3VznzZfMfnXN+ae31Z5Pck+SyFe8w55zPrd3cufZnpX+rjzEuT/J3kvzHVc5dpTMlysuSPHzU7QNZ8QdkkzHG1Ul+MMkfLDB7+xjjziRPJLllzrnqHX45yT9NcmTFc482k3xujHHHGOOGzX7nZ0qUrBljnJvkk0k+POd8ZtXz55yH55xvTXJ5kuvGGCv7VH6M8ZNJnphz3rGqmcfxtjnnDyV5d5KfW3tos2nOlCgfSXLFUbcvXzu2paw9jvtkkt+Yc35qyV3mnN9OcmuSd61w7I8m+am1x3SfSPK3xhj/dYXzkyRzzkfWXj6R5NN56eHVpjlTorw9ybVjjGvGGLuSvC/JzQvvtFJrT7J8NMk9c85fWmiHi8cYr157/ey89MTb11Y1f875C3POy+ecV+elj4H/Nef8mVXNT5IxxjlrT7RljHFOkh9PsqnPyJ8RUc45DyX5YJLP5qUnOH5rznn3KncYY3w8ye8lecMY48AY4wOrnJ+XzhI/m5fODneu/fmJFe+wN8mtY4w/ykt/Ud4y51zkyxILujTJF8YYX07yxST/c875u5s54Iz4kghsJWfEmRK2ElFCGVFCGVFCGVFCGVFCGVFCmf8PZJ1Bfys2Ss4AAAAASUVORK5CYII=\n",
1367 | "text/plain": [
1368 | ""
1369 | ]
1370 | },
1371 | "metadata": {
1372 | "tags": [],
1373 | "needs_background": "light"
1374 | }
1375 | }
1376 | ]
1377 | },
1378 | {
1379 | "cell_type": "markdown",
1380 | "metadata": {
1381 | "id": "rX-Yj2qsRtvO"
1382 | },
1383 | "source": [
1384 | "## กราฟแท่ง\n",
1385 | "Exploratory"
1386 | ]
1387 | },
1388 | {
1389 | "cell_type": "code",
1390 | "metadata": {
1391 | "id": "N7y8c1NmUIGh",
1392 | "outputId": "09dfa509-fc12-4c40-90eb-852990a3d336",
1393 | "colab": {
1394 | "base_uri": "https://localhost:8080/"
1395 | }
1396 | },
1397 | "source": [
1398 | "BFI_data_dropped.columns"
1399 | ],
1400 | "execution_count": 33,
1401 | "outputs": [
1402 | {
1403 | "output_type": "execute_result",
1404 | "data": {
1405 | "text/plain": [
1406 | "Index(['A1', 'A2', 'A3', 'A4', 'A5', 'C1', 'C2', 'C3', 'C4', 'C5', 'E1', 'E2',\n",
1407 | " 'E3', 'E4', 'E5', 'N1', 'N2', 'N3', 'N4', 'N5', 'O1', 'O2', 'O3', 'O4',\n",
1408 | " 'O5'],\n",
1409 | " dtype='object')"
1410 | ]
1411 | },
1412 | "metadata": {
1413 | "tags": []
1414 | },
1415 | "execution_count": 33
1416 | }
1417 | ]
1418 | },
1419 | {
1420 | "cell_type": "code",
1421 | "metadata": {
1422 | "id": "ZMtY6O_3PqWX",
1423 | "outputId": "962b8944-91eb-4530-b73a-50ae419d61c6",
1424 | "colab": {
1425 | "base_uri": "https://localhost:8080/",
1426 | "height": 880
1427 | }
1428 | },
1429 | "source": [
1430 | "plt.bar(range(25),np.absolute(fa2.loadings_[:,0]),tick_label=BFI_data_dropped.columns)"
1431 | ],
1432 | "execution_count": 34,
1433 | "outputs": [
1434 | {
1435 | "output_type": "execute_result",
1436 | "data": {
1437 | "text/plain": [
1438 | ""
1439 | ]
1440 | },
1441 | "metadata": {
1442 | "tags": []
1443 | },
1444 | "execution_count": 34
1445 | },
1446 | {
1447 | "output_type": "display_data",
1448 | "data": {
1449 | "image/png": "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\n",
1450 | "text/plain": [
1451 | ""
1452 | ]
1453 | },
1454 | "metadata": {
1455 | "tags": [],
1456 | "needs_background": "light"
1457 | }
1458 | }
1459 | ]
1460 | },
1461 | {
1462 | "cell_type": "markdown",
1463 | "metadata": {
1464 | "id": "u1WEMOxrVMgK"
1465 | },
1466 | "source": [
1467 | "# Exam 3\n",
1468 | "\n",
1469 | "ทำ Factor Analysis ข้อมูล Fifa 2018 \n",
1470 | "https://drive.google.com/file/d/1UORRKWMb8GCN455eJE_n9MvBHupnSVwv/view?usp=sharing"
1471 | ]
1472 | },
1473 | {
1474 | "cell_type": "code",
1475 | "metadata": {
1476 | "id": "bwydAqqATIcl"
1477 | },
1478 | "source": [
1479 | ""
1480 | ],
1481 | "execution_count": null,
1482 | "outputs": []
1483 | }
1484 | ]
1485 | }
--------------------------------------------------------------------------------
/Exam01.MD:
--------------------------------------------------------------------------------
1 | ### วิเคราะห์ข้อมูล nndb_flat.csv และ pizza.csv ด้วยความรู้ที่เรียนมาในบทที่ 1-3
2 | ### ส่ง ก่อน 10.30 วันจันทร์ที่ 22 มีนาคม 2564
3 | ### commit ว่า exam01
4 |
--------------------------------------------------------------------------------
/Intro_to_Multivariate.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "nbformat": 4,
3 | "nbformat_minor": 0,
4 | "metadata": {
5 | "colab": {
6 | "name": "Intro to Multivariate.ipynb",
7 | "provenance": [],
8 | "authorship_tag": "ABX9TyPjkg4pXeOmRhgt/QUdLBPf",
9 | "include_colab_link": true
10 | },
11 | "kernelspec": {
12 | "name": "python3",
13 | "display_name": "Python 3"
14 | }
15 | },
16 | "cells": [
17 | {
18 | "cell_type": "markdown",
19 | "metadata": {
20 | "id": "view-in-github",
21 | "colab_type": "text"
22 | },
23 | "source": [
24 | "
"
25 | ]
26 | },
27 | {
28 | "cell_type": "markdown",
29 | "metadata": {
30 | "id": "q1pc93ZTiCWi"
31 | },
32 | "source": [
33 | "ธนพงศ์ อินทระ ID xxxxxxxxx\r\n",
34 | "\r\n",
35 | "\r\n",
36 | "\r\n",
37 | "0. เรียนในห้อง (ยังไง)\r\n",
38 | "1. เรียนออนไลน์ปกติ\r\n",
39 | "2. อัด วิดีโอ ลงกลุ่ม facebook แล้วมาตอบคอมเม้น\r\n",
40 | "3. ..... \r\n",
41 | "\r\n"
42 | ]
43 | },
44 | {
45 | "cell_type": "code",
46 | "metadata": {
47 | "colab": {
48 | "base_uri": "https://localhost:8080/"
49 | },
50 | "id": "t-MjNqwdhUTo",
51 | "outputId": "45c02c0f-84cb-4ca0-8250-bf7ce33a6791"
52 | },
53 | "source": [
54 | "print('ธนพงศ์') #single quote (') ใช้ล้อมรอบข้อความ"
55 | ],
56 | "execution_count": 3,
57 | "outputs": [
58 | {
59 | "output_type": "stream",
60 | "text": [
61 | "ธนพงศ์\n"
62 | ],
63 | "name": "stdout"
64 | }
65 | ]
66 | }
67 | ]
68 | }
--------------------------------------------------------------------------------
/KKUlogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tohnperfect/multivariate/e000cad90a7716bdec45fce7aa5e4b807bac6467/KKUlogo.png
--------------------------------------------------------------------------------
/Python101.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "nbformat": 4,
3 | "nbformat_minor": 0,
4 | "metadata": {
5 | "kernelspec": {
6 | "display_name": "Python 3",
7 | "language": "python",
8 | "name": "python3"
9 | },
10 | "language_info": {
11 | "codemirror_mode": {
12 | "name": "ipython",
13 | "version": 3
14 | },
15 | "file_extension": ".py",
16 | "mimetype": "text/x-python",
17 | "name": "python",
18 | "nbconvert_exporter": "python",
19 | "pygments_lexer": "ipython3",
20 | "version": "3.7.4"
21 | },
22 | "colab": {
23 | "name": "Python101.ipynb",
24 | "provenance": [],
25 | "include_colab_link": true
26 | }
27 | },
28 | "cells": [
29 | {
30 | "cell_type": "markdown",
31 | "metadata": {
32 | "id": "view-in-github",
33 | "colab_type": "text"
34 | },
35 | "source": [
36 | "
"
37 | ]
38 | },
39 | {
40 | "cell_type": "markdown",
41 | "metadata": {
42 | "id": "FnRGDLEhLd-j"
43 | },
44 | "source": [
45 | "ตัวแปร variable"
46 | ]
47 | },
48 | {
49 | "cell_type": "markdown",
50 | "metadata": {
51 | "id": "Jka8R_HUL60h"
52 | },
53 | "source": [
54 | "หลักการตั้งชื่อตัวแปรเบื้องต้น\r\n",
55 | "\r\n",
56 | "1. ตั้งให้สื่อ\r\n",
57 | "2. ภาษาอังกฤษ\r\n",
58 | "3. ใช้ตัวเลขได้แต่ห้ามขึ้นต้นด้วยตัวเลข\r\n",
59 | "4. ห้ามเว้นวรรค\r\n",
60 | "5. ตัวเล็กกับตัวใหญ่ไม่เหมือนกัน"
61 | ]
62 | },
63 | {
64 | "cell_type": "markdown",
65 | "metadata": {
66 | "id": "DOHWPXgvMn4E"
67 | },
68 | "source": [
69 | "มี output 2 mode : ออกหน้าจอ กับ เข้าไปเก็บในตัวแปร"
70 | ]
71 | },
72 | {
73 | "cell_type": "code",
74 | "metadata": {
75 | "colab": {
76 | "base_uri": "https://localhost:8080/"
77 | },
78 | "id": "JPYmzwcoMiDq",
79 | "outputId": "3defd6f2-df73-4546-de8d-be68a4f424d8"
80 | },
81 | "source": [
82 | "3.14159 # hashtag หรือ sharp # คือ comment >>> อันนี้คือ output ที่ออกหน้าจอ"
83 | ],
84 | "execution_count": null,
85 | "outputs": [
86 | {
87 | "output_type": "execute_result",
88 | "data": {
89 | "text/plain": [
90 | "3.14159"
91 | ]
92 | },
93 | "metadata": {
94 | "tags": []
95 | },
96 | "execution_count": 34
97 | }
98 | ]
99 | },
100 | {
101 | "cell_type": "code",
102 | "metadata": {
103 | "id": "XFI5uFHvLrCT"
104 | },
105 | "source": [
106 | "Pi = 3.14159 # อันนี้คือ output ที่เข้าไปอยู่ในตัวแปร"
107 | ],
108 | "execution_count": null,
109 | "outputs": []
110 | },
111 | {
112 | "cell_type": "code",
113 | "metadata": {
114 | "colab": {
115 | "base_uri": "https://localhost:8080/"
116 | },
117 | "id": "-NdBQY0TJ5ES",
118 | "outputId": "816738f1-a2fb-4092-c38a-a9f26de3648d"
119 | },
120 | "source": [
121 | "Pi"
122 | ],
123 | "execution_count": null,
124 | "outputs": [
125 | {
126 | "output_type": "execute_result",
127 | "data": {
128 | "text/plain": [
129 | "3.14159"
130 | ]
131 | },
132 | "metadata": {
133 | "tags": []
134 | },
135 | "execution_count": 36
136 | }
137 | ]
138 | },
139 | {
140 | "cell_type": "code",
141 | "metadata": {
142 | "colab": {
143 | "base_uri": "https://localhost:8080/"
144 | },
145 | "id": "WoYN4BS8J470",
146 | "outputId": "8fb6aab7-e7f7-4e56-ddcd-df656c7fc7b2"
147 | },
148 | "source": [
149 | "a = 1234567\r\n",
150 | "print(a)"
151 | ],
152 | "execution_count": null,
153 | "outputs": [
154 | {
155 | "output_type": "stream",
156 | "text": [
157 | "1234567\n"
158 | ],
159 | "name": "stdout"
160 | }
161 | ]
162 | },
163 | {
164 | "cell_type": "markdown",
165 | "metadata": {
166 | "id": "WZDJ9zooNl_P"
167 | },
168 | "source": [
169 | "# ชนิดของตัวแปร 3 ชนิด"
170 | ]
171 | },
172 | {
173 | "cell_type": "markdown",
174 | "metadata": {
175 | "id": "4tWQGxlJOerF"
176 | },
177 | "source": [
178 | "### จำนวนเต็ม (integer, int)"
179 | ]
180 | },
181 | {
182 | "cell_type": "code",
183 | "metadata": {
184 | "colab": {
185 | "base_uri": "https://localhost:8080/"
186 | },
187 | "id": "S_u3f_SRJ44N",
188 | "outputId": "65fa70d1-560a-40e2-a475-67945ff31231"
189 | },
190 | "source": [
191 | "aaa = 1092\r\n",
192 | "print(aaa)"
193 | ],
194 | "execution_count": null,
195 | "outputs": [
196 | {
197 | "output_type": "stream",
198 | "text": [
199 | "1092\n"
200 | ],
201 | "name": "stdout"
202 | }
203 | ]
204 | },
205 | {
206 | "cell_type": "markdown",
207 | "metadata": {
208 | "id": "dI0sDRyiOw8M"
209 | },
210 | "source": [
211 | "### จำนวนจริง (float)"
212 | ]
213 | },
214 | {
215 | "cell_type": "code",
216 | "metadata": {
217 | "colab": {
218 | "base_uri": "https://localhost:8080/"
219 | },
220 | "id": "EFQ7VrQPJ41R",
221 | "outputId": "0a2c85d4-3b0a-4ffe-bd3f-c3bb45476855"
222 | },
223 | "source": [
224 | "bbb = 11.\r\n",
225 | "print(bbb)"
226 | ],
227 | "execution_count": null,
228 | "outputs": [
229 | {
230 | "output_type": "stream",
231 | "text": [
232 | "11.0\n"
233 | ],
234 | "name": "stdout"
235 | }
236 | ]
237 | },
238 | {
239 | "cell_type": "markdown",
240 | "metadata": {
241 | "id": "kXwYOj2QPBXV"
242 | },
243 | "source": [
244 | "### ตัวอักษร-ข้อความ (character และ text, string)"
245 | ]
246 | },
247 | {
248 | "cell_type": "code",
249 | "metadata": {
250 | "colab": {
251 | "base_uri": "https://localhost:8080/"
252 | },
253 | "id": "-e_-y70PJ4yZ",
254 | "outputId": "439527cd-7b4d-4987-8da3-0c13b5cb550e"
255 | },
256 | "source": [
257 | "ccc = '123456' # เราใช้ single quote ' หรือ double quote \" ล้อมรอบตัวหนังสือเพื่อระบุว่าเป็น character-string\r\n",
258 | "print(ccc)"
259 | ],
260 | "execution_count": null,
261 | "outputs": [
262 | {
263 | "output_type": "stream",
264 | "text": [
265 | "123456\n"
266 | ],
267 | "name": "stdout"
268 | }
269 | ]
270 | },
271 | {
272 | "cell_type": "code",
273 | "metadata": {
274 | "colab": {
275 | "base_uri": "https://localhost:8080/"
276 | },
277 | "id": "gBTUH9_SP8sL",
278 | "outputId": "4f5782b1-689c-44bf-81ba-cac5ef76642e"
279 | },
280 | "source": [
281 | "aaa + bbb # float + int = float"
282 | ],
283 | "execution_count": null,
284 | "outputs": [
285 | {
286 | "output_type": "execute_result",
287 | "data": {
288 | "text/plain": [
289 | "1103.0"
290 | ]
291 | },
292 | "metadata": {
293 | "tags": []
294 | },
295 | "execution_count": 41
296 | }
297 | ]
298 | },
299 | {
300 | "cell_type": "code",
301 | "metadata": {
302 | "colab": {
303 | "base_uri": "https://localhost:8080/",
304 | "height": 162
305 | },
306 | "id": "wbtPo5IUJ4vb",
307 | "outputId": "916df717-a464-4660-b6a6-625cabd6a76c"
308 | },
309 | "source": [
310 | "bbb + ccc"
311 | ],
312 | "execution_count": null,
313 | "outputs": [
314 | {
315 | "output_type": "error",
316 | "ename": "TypeError",
317 | "evalue": "ignored",
318 | "traceback": [
319 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
320 | "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
321 | "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mbbb\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mccc\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
322 | "\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'float' and 'str'"
323 | ]
324 | }
325 | ]
326 | },
327 | {
328 | "cell_type": "code",
329 | "metadata": {
330 | "colab": {
331 | "base_uri": "https://localhost:8080/"
332 | },
333 | "id": "FuRXqjsUJ4sf",
334 | "outputId": "18699193-bc6f-4769-ffba-1bc26355f4e5"
335 | },
336 | "source": [
337 | "ddd = 'ธนพงศ์'\r\n",
338 | "print(ddd)"
339 | ],
340 | "execution_count": null,
341 | "outputs": [
342 | {
343 | "output_type": "stream",
344 | "text": [
345 | "ธนพงศ์\n"
346 | ],
347 | "name": "stdout"
348 | }
349 | ]
350 | },
351 | {
352 | "cell_type": "markdown",
353 | "metadata": {
354 | "id": "LRazcoUwQtzX"
355 | },
356 | "source": [
357 | "# การเปลี่ยนชนิดของตัวแปร variable casting"
358 | ]
359 | },
360 | {
361 | "cell_type": "code",
362 | "metadata": {
363 | "colab": {
364 | "base_uri": "https://localhost:8080/"
365 | },
366 | "id": "CUC8ln5TJ4pl",
367 | "outputId": "09176a10-7f15-4bdb-eee5-2a51679a962f"
368 | },
369 | "source": [
370 | "aaa + int(ccc)"
371 | ],
372 | "execution_count": null,
373 | "outputs": [
374 | {
375 | "output_type": "execute_result",
376 | "data": {
377 | "text/plain": [
378 | "124548"
379 | ]
380 | },
381 | "metadata": {
382 | "tags": []
383 | },
384 | "execution_count": 44
385 | }
386 | ]
387 | },
388 | {
389 | "cell_type": "code",
390 | "metadata": {
391 | "colab": {
392 | "base_uri": "https://localhost:8080/"
393 | },
394 | "id": "JJ6b0GEtJ4mr",
395 | "outputId": "52018032-75d3-4f4f-9bb4-3870e264a495"
396 | },
397 | "source": [
398 | "aaa + float(ccc)"
399 | ],
400 | "execution_count": null,
401 | "outputs": [
402 | {
403 | "output_type": "execute_result",
404 | "data": {
405 | "text/plain": [
406 | "124548.0"
407 | ]
408 | },
409 | "metadata": {
410 | "tags": []
411 | },
412 | "execution_count": 45
413 | }
414 | ]
415 | },
416 | {
417 | "cell_type": "code",
418 | "metadata": {
419 | "colab": {
420 | "base_uri": "https://localhost:8080/",
421 | "height": 35
422 | },
423 | "id": "NBHziWE5J4jM",
424 | "outputId": "306431d9-a404-4d86-c547-215228a55d46"
425 | },
426 | "source": [
427 | "str(aaa)"
428 | ],
429 | "execution_count": null,
430 | "outputs": [
431 | {
432 | "output_type": "execute_result",
433 | "data": {
434 | "application/vnd.google.colaboratory.intrinsic+json": {
435 | "type": "string"
436 | },
437 | "text/plain": [
438 | "'1092'"
439 | ]
440 | },
441 | "metadata": {
442 | "tags": []
443 | },
444 | "execution_count": 46
445 | }
446 | ]
447 | },
448 | {
449 | "cell_type": "markdown",
450 | "metadata": {
451 | "id": "DCsc4R9KJ3Gu"
452 | },
453 | "source": [
454 | "# การดำเนินการ Operation (Operators +,-,*,/,%)"
455 | ]
456 | },
457 | {
458 | "cell_type": "code",
459 | "metadata": {
460 | "colab": {
461 | "base_uri": "https://localhost:8080/",
462 | "height": 162
463 | },
464 | "id": "FahcgJdhJ3Gu",
465 | "outputId": "7f24263a-e17c-4a77-dee9-3e9576e0d0fa"
466 | },
467 | "source": [
468 | "a+b"
469 | ],
470 | "execution_count": null,
471 | "outputs": [
472 | {
473 | "output_type": "error",
474 | "ename": "NameError",
475 | "evalue": "ignored",
476 | "traceback": [
477 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
478 | "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
479 | "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0ma\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
480 | "\u001b[0;31mNameError\u001b[0m: name 'b' is not defined"
481 | ]
482 | }
483 | ]
484 | },
485 | {
486 | "cell_type": "code",
487 | "metadata": {
488 | "colab": {
489 | "base_uri": "https://localhost:8080/"
490 | },
491 | "id": "QY7ckaXeJ4gN",
492 | "outputId": "c7d9c1f3-2330-4ed9-a0a3-81d31953b3e9"
493 | },
494 | "source": [
495 | "aaa + bbb"
496 | ],
497 | "execution_count": null,
498 | "outputs": [
499 | {
500 | "output_type": "execute_result",
501 | "data": {
502 | "text/plain": [
503 | "1103.0"
504 | ]
505 | },
506 | "metadata": {
507 | "tags": []
508 | },
509 | "execution_count": 48
510 | }
511 | ]
512 | },
513 | {
514 | "cell_type": "code",
515 | "metadata": {
516 | "colab": {
517 | "base_uri": "https://localhost:8080/"
518 | },
519 | "id": "2tNThbPGJ4VY",
520 | "outputId": "897cd6c1-650c-4801-a17c-569ee7d0567d"
521 | },
522 | "source": [
523 | "aaa - bbb"
524 | ],
525 | "execution_count": null,
526 | "outputs": [
527 | {
528 | "output_type": "execute_result",
529 | "data": {
530 | "text/plain": [
531 | "1081.0"
532 | ]
533 | },
534 | "metadata": {
535 | "tags": []
536 | },
537 | "execution_count": 49
538 | }
539 | ]
540 | },
541 | {
542 | "cell_type": "code",
543 | "metadata": {
544 | "colab": {
545 | "base_uri": "https://localhost:8080/"
546 | },
547 | "id": "VvE9t0j9J3Gu",
548 | "outputId": "3257b1b6-a508-489c-aa67-1804d48762d9"
549 | },
550 | "source": [
551 | "ab = aaa*bbb\r\n",
552 | "print(ab)"
553 | ],
554 | "execution_count": null,
555 | "outputs": [
556 | {
557 | "output_type": "stream",
558 | "text": [
559 | "12012.0\n"
560 | ],
561 | "name": "stdout"
562 | }
563 | ]
564 | },
565 | {
566 | "cell_type": "code",
567 | "metadata": {
568 | "colab": {
569 | "base_uri": "https://localhost:8080/"
570 | },
571 | "id": "JW5-lnz7S5a8",
572 | "outputId": "09e2a481-fe1a-4730-f119-b0e68273bcad"
573 | },
574 | "source": [
575 | "ab + int(ccc)"
576 | ],
577 | "execution_count": null,
578 | "outputs": [
579 | {
580 | "output_type": "execute_result",
581 | "data": {
582 | "text/plain": [
583 | "135468.0"
584 | ]
585 | },
586 | "metadata": {
587 | "tags": []
588 | },
589 | "execution_count": 51
590 | }
591 | ]
592 | },
593 | {
594 | "cell_type": "markdown",
595 | "metadata": {
596 | "id": "u9KXbMyeJ3Gu"
597 | },
598 | "source": [
599 | "#### % คือหมาย modulo"
600 | ]
601 | },
602 | {
603 | "cell_type": "code",
604 | "metadata": {
605 | "colab": {
606 | "base_uri": "https://localhost:8080/"
607 | },
608 | "id": "lw9DDEhtJ3Gv",
609 | "outputId": "3d46f92e-6f93-42ef-d0f1-c072c6002ffc"
610 | },
611 | "source": [
612 | "5%3"
613 | ],
614 | "execution_count": null,
615 | "outputs": [
616 | {
617 | "output_type": "execute_result",
618 | "data": {
619 | "text/plain": [
620 | "2"
621 | ]
622 | },
623 | "metadata": {
624 | "tags": []
625 | },
626 | "execution_count": 52
627 | }
628 | ]
629 | },
630 | {
631 | "cell_type": "code",
632 | "metadata": {
633 | "colab": {
634 | "base_uri": "https://localhost:8080/"
635 | },
636 | "id": "MQU5WHmTTCjM",
637 | "outputId": "039353e7-bc95-4d36-f5f6-5a1c920095b7"
638 | },
639 | "source": [
640 | "7%3"
641 | ],
642 | "execution_count": null,
643 | "outputs": [
644 | {
645 | "output_type": "execute_result",
646 | "data": {
647 | "text/plain": [
648 | "1"
649 | ]
650 | },
651 | "metadata": {
652 | "tags": []
653 | },
654 | "execution_count": 53
655 | }
656 | ]
657 | },
658 | {
659 | "cell_type": "markdown",
660 | "metadata": {
661 | "id": "fa8Cy421TQyv"
662 | },
663 | "source": [
664 | "### คำสั่ง print แบบพิเศษ (การ format string)"
665 | ]
666 | },
667 | {
668 | "cell_type": "code",
669 | "metadata": {
670 | "colab": {
671 | "base_uri": "https://localhost:8080/"
672 | },
673 | "id": "hUsMNU5MTMBZ",
674 | "outputId": "88af2b72-aaee-4f96-e837-e0f2588952e6"
675 | },
676 | "source": [
677 | "print('ตัวแปร') #สิ่งที่อยู่ข้างในวงเล็บคือ ตัวแปร และ string"
678 | ],
679 | "execution_count": null,
680 | "outputs": [
681 | {
682 | "output_type": "stream",
683 | "text": [
684 | "ตัวแปร\n"
685 | ],
686 | "name": "stdout"
687 | }
688 | ]
689 | },
690 | {
691 | "cell_type": "code",
692 | "metadata": {
693 | "colab": {
694 | "base_uri": "https://localhost:8080/"
695 | },
696 | "id": "N9TJUqyYTiaS",
697 | "outputId": "c823324f-6425-479f-c13e-eba91d688506"
698 | },
699 | "source": [
700 | "print(f'% คือการหารเอาเศษ เช่น 7%3 = {7%3}') # เพิ่ม f หน้า 'string' และใช้ {} ใส่ code"
701 | ],
702 | "execution_count": null,
703 | "outputs": [
704 | {
705 | "output_type": "stream",
706 | "text": [
707 | "% คือการหารเอาเศษ เช่น 7%3 = 1\n"
708 | ],
709 | "name": "stdout"
710 | }
711 | ]
712 | },
713 | {
714 | "cell_type": "code",
715 | "metadata": {
716 | "colab": {
717 | "base_uri": "https://localhost:8080/"
718 | },
719 | "id": "FiTszVZXTiW4",
720 | "outputId": "e439f800-3f3b-429b-c711-4e134880d024"
721 | },
722 | "source": [
723 | "print(f'% คือการหารเอาเศษ เช่น 7%3 = {7%3} \\\r\n",
724 | " แต่\\n/ คือการหารปกติ เช่น 7/3 = {7/3} \\\r\n",
725 | " และ\\n// คือการหารเอาส่วน เช่น 7//3 = {7//3} \\\r\n",
726 | " หรือ\\nใช้ int() เพื่อหารเอาส่วน เช่น int(7/3) = {int(7/3)}') # \\n คือการขึ้นบรรทัดใหม่ \\ ใช้ในการตัด code แต่ com จะไม่เห็น"
727 | ],
728 | "execution_count": null,
729 | "outputs": [
730 | {
731 | "output_type": "stream",
732 | "text": [
733 | "% คือการหารเอาเศษ เช่น 7%3 = 1 แต่\n",
734 | "/ คือการหารปกติ เช่น 7/3 = 2.3333333333333335 และ\n",
735 | "// คือการหารเอาส่วน เช่น 7//3 = 2 หรือ\n",
736 | "ใช้ int() เพื่อหารเอาส่วน เช่น int(7/3) = 2\n"
737 | ],
738 | "name": "stdout"
739 | }
740 | ]
741 | },
742 | {
743 | "cell_type": "markdown",
744 | "metadata": {
745 | "id": "FHzvVDaWJ3Gw"
746 | },
747 | "source": [
748 | "## DATA STRUCTURE (โครงสร้างข้อมูล)"
749 | ]
750 | },
751 | {
752 | "cell_type": "code",
753 | "metadata": {
754 | "colab": {
755 | "base_uri": "https://localhost:8080/"
756 | },
757 | "id": "QP2rmfqvXOzx",
758 | "outputId": "1503eeb4-3748-4be8-c24b-95b1b10a22d9"
759 | },
760 | "source": [
761 | "[111,'c','งง',aaa]"
762 | ],
763 | "execution_count": null,
764 | "outputs": [
765 | {
766 | "output_type": "execute_result",
767 | "data": {
768 | "text/plain": [
769 | "[111, 'c', 'งง', 1092]"
770 | ]
771 | },
772 | "metadata": {
773 | "tags": []
774 | },
775 | "execution_count": 57
776 | }
777 | ]
778 | },
779 | {
780 | "cell_type": "markdown",
781 | "metadata": {
782 | "id": "e5kIU3W-J3Gw"
783 | },
784 | "source": [
785 | "### List คือ การเอาข้อมูลหลายๆตัวมาเรียงต่อกัน \n",
786 | "#### list สามารถสร้างได้ 2 แบบ ดังนี้"
787 | ]
788 | },
789 | {
790 | "cell_type": "markdown",
791 | "metadata": {
792 | "id": "hq7h4tj2J3Gw"
793 | },
794 | "source": [
795 | "#### แบบที่1 > square brackets"
796 | ]
797 | },
798 | {
799 | "cell_type": "code",
800 | "metadata": {
801 | "colab": {
802 | "base_uri": "https://localhost:8080/"
803 | },
804 | "id": "8Fnk8-I9J3Gw",
805 | "outputId": "2cc791b1-365e-4865-be97-bbf899d28959"
806 | },
807 | "source": [
808 | "list_a = []\r\n",
809 | "print(list_a)"
810 | ],
811 | "execution_count": null,
812 | "outputs": [
813 | {
814 | "output_type": "stream",
815 | "text": [
816 | "[]\n"
817 | ],
818 | "name": "stdout"
819 | }
820 | ]
821 | },
822 | {
823 | "cell_type": "code",
824 | "metadata": {
825 | "colab": {
826 | "base_uri": "https://localhost:8080/"
827 | },
828 | "id": "9R2jTTTQJ3Gw",
829 | "outputId": "4962c168-5eac-4d36-b569-9f3709c2f35f"
830 | },
831 | "source": [
832 | "list_b = [111,'c','งง',aaa]\r\n",
833 | "print(list_b)"
834 | ],
835 | "execution_count": null,
836 | "outputs": [
837 | {
838 | "output_type": "stream",
839 | "text": [
840 | "[111, 'c', 'งง', 1092]\n"
841 | ],
842 | "name": "stdout"
843 | }
844 | ]
845 | },
846 | {
847 | "cell_type": "markdown",
848 | "metadata": {
849 | "id": "L7bQ_1JJbU0l"
850 | },
851 | "source": [
852 | "### ลำดับที่อยู่ใน list มีความสำคัญ (ลำดับใน list เริ่มจาก 0,1,2,...) "
853 | ]
854 | },
855 | {
856 | "cell_type": "code",
857 | "metadata": {
858 | "colab": {
859 | "base_uri": "https://localhost:8080/",
860 | "height": 35
861 | },
862 | "id": "Fy2Ju92hbTJe",
863 | "outputId": "513ed232-c012-44c5-fca7-89b3f780d1dc"
864 | },
865 | "source": [
866 | "list_b[2]"
867 | ],
868 | "execution_count": null,
869 | "outputs": [
870 | {
871 | "output_type": "execute_result",
872 | "data": {
873 | "application/vnd.google.colaboratory.intrinsic+json": {
874 | "type": "string"
875 | },
876 | "text/plain": [
877 | "'งง'"
878 | ]
879 | },
880 | "metadata": {
881 | "tags": []
882 | },
883 | "execution_count": 84
884 | }
885 | ]
886 | },
887 | {
888 | "cell_type": "markdown",
889 | "metadata": {
890 | "id": "f_DgmUApJ3Gw"
891 | },
892 | "source": [
893 | "#### แบบที่2"
894 | ]
895 | },
896 | {
897 | "cell_type": "code",
898 | "metadata": {
899 | "colab": {
900 | "base_uri": "https://localhost:8080/"
901 | },
902 | "id": "pmBmmx92J3Gx",
903 | "outputId": "b0768371-c4b1-43fa-fd4e-826c15f207f8"
904 | },
905 | "source": [
906 | "list_c = list()\r\n",
907 | "print(list_c)"
908 | ],
909 | "execution_count": null,
910 | "outputs": [
911 | {
912 | "output_type": "stream",
913 | "text": [
914 | "[]\n"
915 | ],
916 | "name": "stdout"
917 | }
918 | ]
919 | },
920 | {
921 | "cell_type": "markdown",
922 | "metadata": {
923 | "id": "oVe1jDU1J3Gx"
924 | },
925 | "source": [
926 | "## append() เพิ่มสมาชิกใน list"
927 | ]
928 | },
929 | {
930 | "cell_type": "code",
931 | "metadata": {
932 | "colab": {
933 | "base_uri": "https://localhost:8080/"
934 | },
935 | "id": "fLqpVjZzJ3Gx",
936 | "outputId": "ed757539-e28a-4096-dba0-cd9e3fdc930a"
937 | },
938 | "source": [
939 | "list_b.append('u')\n",
940 | "print(list_b)"
941 | ],
942 | "execution_count": null,
943 | "outputs": [
944 | {
945 | "output_type": "stream",
946 | "text": [
947 | "[111, 'c', 'งง', 1092, 'u']\n"
948 | ],
949 | "name": "stdout"
950 | }
951 | ]
952 | },
953 | {
954 | "cell_type": "markdown",
955 | "metadata": {
956 | "id": "kHW9ylc2ZFfD"
957 | },
958 | "source": [
959 | "ตัวที่อยู่ในวงเล็บหลังจากตัวแปร list เรียกว่า index ใช้สำหรับชี้ข้อมูลใน list \r\n",
960 | "\r\n",
961 | "(ชี้จากข้างหน้า,ชี้จากข้างหลัง)\r\n",
962 | "\r\n",
963 | "0 คือสมาชิกตัวแรก , -1 คือสมาชิกตัวสุดท้าย"
964 | ]
965 | },
966 | {
967 | "cell_type": "code",
968 | "metadata": {
969 | "colab": {
970 | "base_uri": "https://localhost:8080/",
971 | "height": 35
972 | },
973 | "id": "gCFo2oDSYfwZ",
974 | "outputId": "65a3911a-3905-4b24-82d4-5e5691d32200"
975 | },
976 | "source": [
977 | "list_b[-1] "
978 | ],
979 | "execution_count": null,
980 | "outputs": [
981 | {
982 | "output_type": "execute_result",
983 | "data": {
984 | "application/vnd.google.colaboratory.intrinsic+json": {
985 | "type": "string"
986 | },
987 | "text/plain": [
988 | "'u'"
989 | ]
990 | },
991 | "metadata": {
992 | "tags": []
993 | },
994 | "execution_count": 63
995 | }
996 | ]
997 | },
998 | {
999 | "cell_type": "markdown",
1000 | "metadata": {
1001 | "id": "i-HVllkVJ3Gy"
1002 | },
1003 | "source": [
1004 | "## String > list of characters"
1005 | ]
1006 | },
1007 | {
1008 | "cell_type": "code",
1009 | "metadata": {
1010 | "colab": {
1011 | "base_uri": "https://localhost:8080/"
1012 | },
1013 | "id": "DNNnCnrUJ3Gy",
1014 | "outputId": "ce1df72e-e925-41c0-8e11-e1f2f31854b5"
1015 | },
1016 | "source": [
1017 | "t = 'python is easy'\n",
1018 | "print(t)"
1019 | ],
1020 | "execution_count": null,
1021 | "outputs": [
1022 | {
1023 | "output_type": "stream",
1024 | "text": [
1025 | "python is easy\n"
1026 | ],
1027 | "name": "stdout"
1028 | }
1029 | ]
1030 | },
1031 | {
1032 | "cell_type": "code",
1033 | "metadata": {
1034 | "colab": {
1035 | "base_uri": "https://localhost:8080/",
1036 | "height": 35
1037 | },
1038 | "id": "h1gP1q5lJ3Gz",
1039 | "outputId": "bfeebd6e-a0d7-47df-b662-84319f479c95"
1040 | },
1041 | "source": [
1042 | "t[1]"
1043 | ],
1044 | "execution_count": null,
1045 | "outputs": [
1046 | {
1047 | "output_type": "execute_result",
1048 | "data": {
1049 | "application/vnd.google.colaboratory.intrinsic+json": {
1050 | "type": "string"
1051 | },
1052 | "text/plain": [
1053 | "'y'"
1054 | ]
1055 | },
1056 | "metadata": {
1057 | "tags": []
1058 | },
1059 | "execution_count": 65
1060 | }
1061 | ]
1062 | },
1063 | {
1064 | "cell_type": "code",
1065 | "metadata": {
1066 | "colab": {
1067 | "base_uri": "https://localhost:8080/",
1068 | "height": 35
1069 | },
1070 | "id": "7I6FHLuwJ3Gz",
1071 | "outputId": "d41f72cf-7709-454e-d948-8fc3ef12b4f7"
1072 | },
1073 | "source": [
1074 | "t[-4]"
1075 | ],
1076 | "execution_count": null,
1077 | "outputs": [
1078 | {
1079 | "output_type": "execute_result",
1080 | "data": {
1081 | "application/vnd.google.colaboratory.intrinsic+json": {
1082 | "type": "string"
1083 | },
1084 | "text/plain": [
1085 | "'e'"
1086 | ]
1087 | },
1088 | "metadata": {
1089 | "tags": []
1090 | },
1091 | "execution_count": 66
1092 | }
1093 | ]
1094 | },
1095 | {
1096 | "cell_type": "code",
1097 | "metadata": {
1098 | "colab": {
1099 | "base_uri": "https://localhost:8080/",
1100 | "height": 35
1101 | },
1102 | "id": "wAzxi-U7aGoa",
1103 | "outputId": "91c05836-6aa7-477c-be9b-65679b250ae0"
1104 | },
1105 | "source": [
1106 | "t[6]"
1107 | ],
1108 | "execution_count": null,
1109 | "outputs": [
1110 | {
1111 | "output_type": "execute_result",
1112 | "data": {
1113 | "application/vnd.google.colaboratory.intrinsic+json": {
1114 | "type": "string"
1115 | },
1116 | "text/plain": [
1117 | "' '"
1118 | ]
1119 | },
1120 | "metadata": {
1121 | "tags": []
1122 | },
1123 | "execution_count": 67
1124 | }
1125 | ]
1126 | },
1127 | {
1128 | "cell_type": "markdown",
1129 | "metadata": {
1130 | "id": "678ayzRbaVYs"
1131 | },
1132 | "source": [
1133 | "## จบ 5 มค 2021"
1134 | ]
1135 | },
1136 | {
1137 | "cell_type": "markdown",
1138 | "metadata": {
1139 | "id": "z_s_nQ4VhbqL"
1140 | },
1141 | "source": [
1142 | "# คาบ 3 11 มค 2021"
1143 | ]
1144 | },
1145 | {
1146 | "cell_type": "code",
1147 | "metadata": {
1148 | "id": "Sb7qn8lEJ3Gy",
1149 | "colab": {
1150 | "base_uri": "https://localhost:8080/"
1151 | },
1152 | "outputId": "cbb3bd19-2021-45e3-fbb2-8a7bcfe486c7"
1153 | },
1154 | "source": [
1155 | "len(t)"
1156 | ],
1157 | "execution_count": null,
1158 | "outputs": [
1159 | {
1160 | "output_type": "execute_result",
1161 | "data": {
1162 | "text/plain": [
1163 | "14"
1164 | ]
1165 | },
1166 | "metadata": {
1167 | "tags": []
1168 | },
1169 | "execution_count": 68
1170 | }
1171 | ]
1172 | },
1173 | {
1174 | "cell_type": "code",
1175 | "metadata": {
1176 | "id": "ZijhE00ak3f3",
1177 | "colab": {
1178 | "base_uri": "https://localhost:8080/"
1179 | },
1180 | "outputId": "a35a17fa-196c-4651-bcb9-9f0e50e179d3"
1181 | },
1182 | "source": [
1183 | "list_b"
1184 | ],
1185 | "execution_count": null,
1186 | "outputs": [
1187 | {
1188 | "output_type": "execute_result",
1189 | "data": {
1190 | "text/plain": [
1191 | "[111, 'c', 'งง', 1092, 'u']"
1192 | ]
1193 | },
1194 | "metadata": {
1195 | "tags": []
1196 | },
1197 | "execution_count": 69
1198 | }
1199 | ]
1200 | },
1201 | {
1202 | "cell_type": "code",
1203 | "metadata": {
1204 | "colab": {
1205 | "base_uri": "https://localhost:8080/"
1206 | },
1207 | "id": "MT4PMgvSJ3Gy",
1208 | "outputId": "17c8526b-a560-4fab-ae15-50d59c4bb103"
1209 | },
1210 | "source": [
1211 | "len(list_b) # len คือคำสั่งตรวจสอบความยาวของ list (จำนวนสมาชิก)"
1212 | ],
1213 | "execution_count": null,
1214 | "outputs": [
1215 | {
1216 | "output_type": "execute_result",
1217 | "data": {
1218 | "text/plain": [
1219 | "5"
1220 | ]
1221 | },
1222 | "metadata": {
1223 | "tags": []
1224 | },
1225 | "execution_count": 70
1226 | }
1227 | ]
1228 | },
1229 | {
1230 | "cell_type": "code",
1231 | "metadata": {
1232 | "colab": {
1233 | "base_uri": "https://localhost:8080/"
1234 | },
1235 | "id": "_cTxNpRVewFq",
1236 | "outputId": "8ce89ed9-2697-4523-bc2f-e7db71ed2211"
1237 | },
1238 | "source": [
1239 | "list_b.append(t)\r\n",
1240 | "print(list_b)"
1241 | ],
1242 | "execution_count": null,
1243 | "outputs": [
1244 | {
1245 | "output_type": "stream",
1246 | "text": [
1247 | "[111, 'c', 'งง', 1092, 'u', 'python is easy']\n"
1248 | ],
1249 | "name": "stdout"
1250 | }
1251 | ]
1252 | },
1253 | {
1254 | "cell_type": "markdown",
1255 | "metadata": {
1256 | "id": "gFt8MOOZef3M"
1257 | },
1258 | "source": [
1259 | "### ตัวที่อยู่ข้างใน [ ] เราเรียกว่า index (ตัวชี้)"
1260 | ]
1261 | },
1262 | {
1263 | "cell_type": "markdown",
1264 | "metadata": {
1265 | "id": "sQt-ldH5J3Gz"
1266 | },
1267 | "source": [
1268 | "### List slicing สามารถทำได้โดยใช้ colon :\n",
1269 | "[a:b] -> [a,b) \n",
1270 | " \n"
1271 | ]
1272 | },
1273 | {
1274 | "cell_type": "code",
1275 | "metadata": {
1276 | "colab": {
1277 | "base_uri": "https://localhost:8080/"
1278 | },
1279 | "id": "Q33VSRhhJ3Gz",
1280 | "outputId": "daa8a38f-3987-4e73-bebf-f0533f627237"
1281 | },
1282 | "source": [
1283 | "print(t)\r\n",
1284 | "print(t[7:9])\r\n",
1285 | "print(len(t[7:9]))"
1286 | ],
1287 | "execution_count": null,
1288 | "outputs": [
1289 | {
1290 | "output_type": "stream",
1291 | "text": [
1292 | "python is easy\n",
1293 | "is\n",
1294 | "2\n"
1295 | ],
1296 | "name": "stdout"
1297 | }
1298 | ]
1299 | },
1300 | {
1301 | "cell_type": "code",
1302 | "metadata": {
1303 | "id": "nN4MEDa1niH-",
1304 | "colab": {
1305 | "base_uri": "https://localhost:8080/",
1306 | "height": 35
1307 | },
1308 | "outputId": "0e39b6b8-8f74-4038-a90d-ce022d2170da"
1309 | },
1310 | "source": [
1311 | "t[0:14:2]"
1312 | ],
1313 | "execution_count": null,
1314 | "outputs": [
1315 | {
1316 | "output_type": "execute_result",
1317 | "data": {
1318 | "application/vnd.google.colaboratory.intrinsic+json": {
1319 | "type": "string"
1320 | },
1321 | "text/plain": [
1322 | "'pto ses'"
1323 | ]
1324 | },
1325 | "metadata": {
1326 | "tags": []
1327 | },
1328 | "execution_count": 74
1329 | }
1330 | ]
1331 | },
1332 | {
1333 | "cell_type": "code",
1334 | "metadata": {
1335 | "id": "tMOobKP5oHSY"
1336 | },
1337 | "source": [
1338 | "Z = [1,2,3,4,5,6,7,8,9,10]"
1339 | ],
1340 | "execution_count": null,
1341 | "outputs": []
1342 | },
1343 | {
1344 | "cell_type": "markdown",
1345 | "metadata": {
1346 | "id": "FEy4xM4MoQAV"
1347 | },
1348 | "source": [
1349 | "### quiz\r\n",
1350 | "ให้ใช้ list slicing เลือกมาเฉพาะเลขคู่"
1351 | ]
1352 | },
1353 | {
1354 | "cell_type": "code",
1355 | "metadata": {
1356 | "id": "yYCOv4SooaWO",
1357 | "colab": {
1358 | "base_uri": "https://localhost:8080/"
1359 | },
1360 | "outputId": "43ab1cc0-ffc6-46ed-92f3-9a1a3cd1924c"
1361 | },
1362 | "source": [
1363 | "Z[1:10:2]"
1364 | ],
1365 | "execution_count": null,
1366 | "outputs": [
1367 | {
1368 | "output_type": "execute_result",
1369 | "data": {
1370 | "text/plain": [
1371 | "[2, 4, 6, 8, 10]"
1372 | ]
1373 | },
1374 | "metadata": {
1375 | "tags": []
1376 | },
1377 | "execution_count": 76
1378 | }
1379 | ]
1380 | },
1381 | {
1382 | "cell_type": "markdown",
1383 | "metadata": {
1384 | "id": "SoaWuAvGhBzx"
1385 | },
1386 | "source": [
1387 | "ถ้าเว้นว่างหน้า : หมายความว่า เริ่มตั้งแต่ตัวแรก (0)\r\n",
1388 | "\r\n",
1389 | "ถ้าเว้นว่างหลัง : หมายความว่า ไปจนถึงตัวสุดท้าย (len(list))"
1390 | ]
1391 | },
1392 | {
1393 | "cell_type": "code",
1394 | "metadata": {
1395 | "colab": {
1396 | "base_uri": "https://localhost:8080/"
1397 | },
1398 | "id": "-xBD4-1-g4lp",
1399 | "outputId": "8a4da4be-90f8-4c26-8a9f-baff52e63a2b"
1400 | },
1401 | "source": [
1402 | "print(t)\r\n",
1403 | "print(t[:6])\r\n",
1404 | "print(t[10:])\r\n",
1405 | "print(t[-4:])\r\n",
1406 | "print(t[:])"
1407 | ],
1408 | "execution_count": null,
1409 | "outputs": [
1410 | {
1411 | "output_type": "stream",
1412 | "text": [
1413 | "python is easy\n",
1414 | "python\n",
1415 | "easy\n",
1416 | "easy\n",
1417 | "python is easy\n"
1418 | ],
1419 | "name": "stdout"
1420 | }
1421 | ]
1422 | },
1423 | {
1424 | "cell_type": "code",
1425 | "metadata": {
1426 | "id": "TgS8KJKApz6Y",
1427 | "colab": {
1428 | "base_uri": "https://localhost:8080/"
1429 | },
1430 | "outputId": "289bef45-4308-4339-c0d1-478e5ea2d8e1"
1431 | },
1432 | "source": [
1433 | "print(Z[::2])"
1434 | ],
1435 | "execution_count": null,
1436 | "outputs": [
1437 | {
1438 | "output_type": "stream",
1439 | "text": [
1440 | "[1, 3, 5, 7, 9]\n"
1441 | ],
1442 | "name": "stdout"
1443 | }
1444 | ]
1445 | },
1446 | {
1447 | "cell_type": "markdown",
1448 | "metadata": {
1449 | "id": "YSoN7fl9J3G1"
1450 | },
1451 | "source": [
1452 | "#### เราสามารถเอา list มาต่อกันได้ด้วย +"
1453 | ]
1454 | },
1455 | {
1456 | "cell_type": "code",
1457 | "metadata": {
1458 | "colab": {
1459 | "base_uri": "https://localhost:8080/",
1460 | "height": 35
1461 | },
1462 | "id": "OoUZt83iJ3G1",
1463 | "outputId": "d8dab7d9-e891-46c0-97df-dcd213641d6a"
1464 | },
1465 | "source": [
1466 | " t + '??'"
1467 | ],
1468 | "execution_count": null,
1469 | "outputs": [
1470 | {
1471 | "output_type": "execute_result",
1472 | "data": {
1473 | "application/vnd.google.colaboratory.intrinsic+json": {
1474 | "type": "string"
1475 | },
1476 | "text/plain": [
1477 | "'python is easy??'"
1478 | ]
1479 | },
1480 | "metadata": {
1481 | "tags": []
1482 | },
1483 | "execution_count": 79
1484 | }
1485 | ]
1486 | },
1487 | {
1488 | "cell_type": "code",
1489 | "metadata": {
1490 | "colab": {
1491 | "base_uri": "https://localhost:8080/",
1492 | "height": 162
1493 | },
1494 | "id": "Ik9WmOZoisKD",
1495 | "outputId": "c94b8d31-3536-4fba-e90a-6a243fbd5ba4"
1496 | },
1497 | "source": [
1498 | "t + list_b ## ไม่สามารถเอา list ปกติมาต่อกับ string ได้"
1499 | ],
1500 | "execution_count": null,
1501 | "outputs": [
1502 | {
1503 | "output_type": "error",
1504 | "ename": "TypeError",
1505 | "evalue": "ignored",
1506 | "traceback": [
1507 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
1508 | "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
1509 | "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mt\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mlist_b\u001b[0m \u001b[0;31m## ไม่สามารถเอา list ปกติมาต่อกับ string ได้\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
1510 | "\u001b[0;31mTypeError\u001b[0m: must be str, not list"
1511 | ]
1512 | }
1513 | ]
1514 | },
1515 | {
1516 | "cell_type": "code",
1517 | "metadata": {
1518 | "colab": {
1519 | "base_uri": "https://localhost:8080/"
1520 | },
1521 | "id": "z56m7Q29iWXI",
1522 | "outputId": "e4b9b5b7-5097-41d7-99f6-3828da1c9f4c"
1523 | },
1524 | "source": [
1525 | "print(list_a)\r\n",
1526 | "list_b = [111,'c','งง',aaa]\r\n",
1527 | "print(list_b)\r\n",
1528 | "print(list_b + list_a) # + คือเอาสมาชิกมารวมกัน"
1529 | ],
1530 | "execution_count": null,
1531 | "outputs": [
1532 | {
1533 | "output_type": "stream",
1534 | "text": [
1535 | "[]\n",
1536 | "[111, 'c', 'งง', 1092]\n",
1537 | "[111, 'c', 'งง', 1092]\n"
1538 | ],
1539 | "name": "stdout"
1540 | }
1541 | ]
1542 | },
1543 | {
1544 | "cell_type": "code",
1545 | "metadata": {
1546 | "id": "uexH7aYFs76-",
1547 | "colab": {
1548 | "base_uri": "https://localhost:8080/"
1549 | },
1550 | "outputId": "551a1b6d-347a-4ddf-902a-379325f49fa9"
1551 | },
1552 | "source": [
1553 | "list_b.append(list_a)\r\n",
1554 | "print(list_b)"
1555 | ],
1556 | "execution_count": null,
1557 | "outputs": [
1558 | {
1559 | "output_type": "stream",
1560 | "text": [
1561 | "[111, 'c', 'งง', 1092, []]\n"
1562 | ],
1563 | "name": "stdout"
1564 | }
1565 | ]
1566 | },
1567 | {
1568 | "cell_type": "markdown",
1569 | "metadata": {
1570 | "id": "GWJi8kGLJ3G1"
1571 | },
1572 | "source": [
1573 | "#### การแบ่ง string ตามสัญลักษณ์ที่กำหนด -> split string"
1574 | ]
1575 | },
1576 | {
1577 | "cell_type": "code",
1578 | "metadata": {
1579 | "id": "TW6Tuxsst2xv",
1580 | "colab": {
1581 | "base_uri": "https://localhost:8080/",
1582 | "height": 35
1583 | },
1584 | "outputId": "2f03ffe4-6c79-4410-a3c2-f1bfe770eee0"
1585 | },
1586 | "source": [
1587 | "t"
1588 | ],
1589 | "execution_count": null,
1590 | "outputs": [
1591 | {
1592 | "output_type": "execute_result",
1593 | "data": {
1594 | "application/vnd.google.colaboratory.intrinsic+json": {
1595 | "type": "string"
1596 | },
1597 | "text/plain": [
1598 | "'python is easy'"
1599 | ]
1600 | },
1601 | "metadata": {
1602 | "tags": []
1603 | },
1604 | "execution_count": 92
1605 | }
1606 | ]
1607 | },
1608 | {
1609 | "cell_type": "code",
1610 | "metadata": {
1611 | "colab": {
1612 | "base_uri": "https://localhost:8080/"
1613 | },
1614 | "id": "AnpBykIoJ3G1",
1615 | "outputId": "6f772e5a-fe72-4acf-a903-b79219e5082f"
1616 | },
1617 | "source": [
1618 | "t.split(' ')"
1619 | ],
1620 | "execution_count": null,
1621 | "outputs": [
1622 | {
1623 | "output_type": "execute_result",
1624 | "data": {
1625 | "text/plain": [
1626 | "['python', 'is', 'easy']"
1627 | ]
1628 | },
1629 | "metadata": {
1630 | "tags": []
1631 | },
1632 | "execution_count": 93
1633 | }
1634 | ]
1635 | },
1636 | {
1637 | "cell_type": "code",
1638 | "metadata": {
1639 | "id": "iAXvmowYJ3G2"
1640 | },
1641 | "source": [
1642 | "time = '12:30:15'"
1643 | ],
1644 | "execution_count": null,
1645 | "outputs": []
1646 | },
1647 | {
1648 | "cell_type": "code",
1649 | "metadata": {
1650 | "colab": {
1651 | "base_uri": "https://localhost:8080/"
1652 | },
1653 | "id": "KlYa6JHiJ3G2",
1654 | "outputId": "b31f4a73-ee12-4d38-f3ae-f74ae62830d4"
1655 | },
1656 | "source": [
1657 | "time.split(':')"
1658 | ],
1659 | "execution_count": null,
1660 | "outputs": [
1661 | {
1662 | "output_type": "execute_result",
1663 | "data": {
1664 | "text/plain": [
1665 | "['12', '30', '15']"
1666 | ]
1667 | },
1668 | "metadata": {
1669 | "tags": []
1670 | },
1671 | "execution_count": 95
1672 | }
1673 | ]
1674 | },
1675 | {
1676 | "cell_type": "code",
1677 | "metadata": {
1678 | "colab": {
1679 | "base_uri": "https://localhost:8080/"
1680 | },
1681 | "id": "nfVAyjasj4dq",
1682 | "outputId": "aaa3039c-01f8-45dc-f982-9e3e8dae1897"
1683 | },
1684 | "source": [
1685 | "t_sp = t.split(' ')\r\n",
1686 | "print(t_sp)"
1687 | ],
1688 | "execution_count": null,
1689 | "outputs": [
1690 | {
1691 | "output_type": "stream",
1692 | "text": [
1693 | "['python', 'is', 'easy']\n"
1694 | ],
1695 | "name": "stdout"
1696 | }
1697 | ]
1698 | },
1699 | {
1700 | "cell_type": "code",
1701 | "metadata": {
1702 | "id": "4qslOwNCu6Sl",
1703 | "colab": {
1704 | "base_uri": "https://localhost:8080/"
1705 | },
1706 | "outputId": "82b7f90b-0d7c-4105-8f7b-5ed4416683c3"
1707 | },
1708 | "source": [
1709 | "## วิธีรวมกลับ\r\n",
1710 | "print(':'.join(t_sp))\r\n"
1711 | ],
1712 | "execution_count": null,
1713 | "outputs": [
1714 | {
1715 | "output_type": "stream",
1716 | "text": [
1717 | "python:is:easy\n"
1718 | ],
1719 | "name": "stdout"
1720 | }
1721 | ]
1722 | },
1723 | {
1724 | "cell_type": "markdown",
1725 | "metadata": {
1726 | "id": "ZbO2O78tJ3G7"
1727 | },
1728 | "source": [
1729 | "### HW คำนวณเวลาเป็นวินาทีของเวลาต่อไปนี้โดยใช้คำสั่ง split() ช่วย (print ออกมาให้สวยงาม)\n",
1730 | "12:30:15\n",
1731 | "\n",
1732 | "13:41:07\n",
1733 | "\n",
1734 | "12:53:15\n",
1735 | "\n",
1736 | "00:59:25\n",
1737 | "\n",
1738 | "11:11:11\n",
1739 | "\n",
1740 | "16:06:09\n",
1741 | "\n",
1742 | "21:12:30\n",
1743 | "\n",
1744 | "10:06:15\n",
1745 | "\n",
1746 | "ตัวอย่าง > 00:01:10 = 70 วินาที\n",
1747 | "\n",
1748 | "ตัวอย่าง > 01:00:01 = 3601 วินาที "
1749 | ]
1750 | },
1751 | {
1752 | "cell_type": "code",
1753 | "metadata": {
1754 | "id": "F5SleBYkkzKw"
1755 | },
1756 | "source": [
1757 | "q1 = '12:30:15'"
1758 | ],
1759 | "execution_count": 1,
1760 | "outputs": []
1761 | },
1762 | {
1763 | "cell_type": "code",
1764 | "metadata": {
1765 | "id": "xNX3RwOIOLDw",
1766 | "outputId": "afd93ee7-85df-48a0-a4bc-8b968530fdd0",
1767 | "colab": {
1768 | "base_uri": "https://localhost:8080/"
1769 | }
1770 | },
1771 | "source": [
1772 | "q1_sp = q1.split(':')\r\n",
1773 | "print(q1_sp)"
1774 | ],
1775 | "execution_count": 3,
1776 | "outputs": [
1777 | {
1778 | "output_type": "stream",
1779 | "text": [
1780 | "['12', '30', '15']\n"
1781 | ],
1782 | "name": "stdout"
1783 | }
1784 | ]
1785 | },
1786 | {
1787 | "cell_type": "code",
1788 | "metadata": {
1789 | "id": "ZqzJSw9xOTbq",
1790 | "outputId": "5bcef6d5-b0ff-4686-d000-3f35eec7869b",
1791 | "colab": {
1792 | "base_uri": "https://localhost:8080/"
1793 | }
1794 | },
1795 | "source": [
1796 | "answer1 = int(q1_sp[0])*3600 + int(q1_sp[1])*60 + int(q1_sp[2])\r\n",
1797 | "print(answer1)"
1798 | ],
1799 | "execution_count": 13,
1800 | "outputs": [
1801 | {
1802 | "output_type": "stream",
1803 | "text": [
1804 | "45015\n"
1805 | ],
1806 | "name": "stdout"
1807 | }
1808 | ]
1809 | },
1810 | {
1811 | "cell_type": "code",
1812 | "metadata": {
1813 | "id": "kBpKbRCOPOQ0",
1814 | "outputId": "47e5c3fd-bc89-48c5-9f35-b7a3ff54c693",
1815 | "colab": {
1816 | "base_uri": "https://localhost:8080/"
1817 | }
1818 | },
1819 | "source": [
1820 | "print(f'เวลา {q1} คำนวณเป็นจำนวนวินาทีได้เท่ากับ {answer1}')"
1821 | ],
1822 | "execution_count": 14,
1823 | "outputs": [
1824 | {
1825 | "output_type": "stream",
1826 | "text": [
1827 | "เวลา 12:30:15 คำนวณเป็นจำนวนวินาทีได้เท่ากับ 45015\n"
1828 | ],
1829 | "name": "stdout"
1830 | }
1831 | ]
1832 | },
1833 | {
1834 | "cell_type": "code",
1835 | "metadata": {
1836 | "id": "-0UoDoigRVwE",
1837 | "outputId": "70a91525-4bea-4b03-d83c-7166aa183323",
1838 | "colab": {
1839 | "base_uri": "https://localhost:8080/"
1840 | }
1841 | },
1842 | "source": [
1843 | "q1 = '12:30:15'\r\n",
1844 | "q1_sp = q1.split(':')\r\n",
1845 | "answer1 = int(q1_sp[0])*3600 + int(q1_sp[1])*60 + int(q1_sp[2])\r\n",
1846 | "print(f'เวลา {q1} คำนวณเป็นจำนวนวินาทีได้เท่ากับ {answer1}')"
1847 | ],
1848 | "execution_count": 15,
1849 | "outputs": [
1850 | {
1851 | "output_type": "stream",
1852 | "text": [
1853 | "เวลา 12:30:15 คำนวณเป็นจำนวนวินาทีได้เท่ากับ 45015\n"
1854 | ],
1855 | "name": "stdout"
1856 | }
1857 | ]
1858 | },
1859 | {
1860 | "cell_type": "code",
1861 | "metadata": {
1862 | "id": "Fmf7Vxp9RcPL"
1863 | },
1864 | "source": [
1865 | ""
1866 | ],
1867 | "execution_count": null,
1868 | "outputs": []
1869 | }
1870 | ]
1871 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Multivariate
2 |
3 | ### ธนพงศ์ ID xxxxxx
4 |
5 | .md => Markdown
6 |
7 | [ ] square brackets
8 |
9 | ( ) parentheses
10 |
11 | 
12 |
13 | อธิบายการใช้งาน Github และ Google Colab ว่าหน้าที่ของแต่ละอันคืออะไร และอธิบายวิธีเซพไฟล์จาก Google Colab ลงใน Github
14 |
15 |
16 | Midterm 35% (แบ่งตามจำนวนครั้งที่สอบ)
17 | HW 40%
18 | Final 25%
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------