[km] chore(i18n): sync translations

Sync translations with latest source changes.
Languages: Khmer [km]
pull/798/head
localizeflow[bot] 6 days ago
parent 5899c85ed3
commit 6faf177573

@ -120,8 +120,8 @@
"language_code": "km"
},
"2-Working-With-Data/07-python/README.md": {
"original_hash": "7bfec050f4717dcc2dfd028aca9d21f3",
"translation_date": "2026-04-06T17:20:46+00:00",
"original_hash": "fb29e3e0be486fe8f15d50bdade79eb1",
"translation_date": "2026-07-17T17:56:15+00:00",
"source_file": "2-Working-With-Data/07-python/README.md",
"language_code": "km"
},

@ -1,60 +1,62 @@
# ការធ្វើការ​ជាមួយទិន្នន័យ៖ Python និងបណ្ណាល័យ Pandas
# ការដំណើរការជាមួយទិន្នន័យ៖ Python និងបណ្ណាល័យ Pandas
| ![ Sketchnote by [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/07-WorkWithPython.png) |
| ![ Sketchnote ដោយ [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/07-WorkWithPython.png) |
| :-------------------------------------------------------------------------------------------------------: |
| ការធ្វើការ​ជាមួយ Python - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
| ការដំណើរការជាមួយ Python - _Sketchnote ដោយ [@nitya](https://twitter.com/nitya)_ |
[![Intro Video](../../../../translated_images/km/video-ds-python.245247dc811db8e4.webp)](https://youtu.be/dZjWOGbsN4Y)
[![វីដេអូណែនាំ](../../../../translated_images/km/video-ds-python.245247dc811db8e4.webp)](https://youtu.be/dZjWOGbsN4Y)
ខណៈដែលមូលដ្ឋានទិន្នន័យផ្តល់នូវវិធីសាស្រ្តមានប្រសិទ្ធភាពខ្ពស់ក្នុងការផ្ទុកទិន្នន័យ និងស្វែងរកតាមភាសាស្វែងរក គន្លឹះបត់បែនបំផុតក្នុងការដំណើរការទិន្នន័យ គឺការសរសេរ​កម្មវិធី​ដើម្បីប្រែក្លាយ​ទិន្នន័យ។ ក្នុង​ច្រើន​ពេលវេលា ការ​ស្វែងរក​មូលដ្ឋាន​ទិន្នន័យ នឹង​ជា​វិធីមាន​ប្រសិទ្ធភាព​ជាង។ ប៉ុន្តែក្នុងករណីខ្លះដែលត្រូវការ​ដំណើរការ​ទិន្នន័យ​ស្មុគស្មាញជាងនេះ វាមិនអាចធ្វើបានយ៉ាងងាយស្រួល​នៅ​តាមរយៈ SQL នោះទេ។
ការដំណើរការទិន្នន័យអាចត្រូវបានកម្មវិធីដោយភាសាបញ្ញាសិប្បនិម្មិតណាមួយក៏បាន ប៉ុន្តែមានភាសាខ្លះៗដែលមានកម្រិតខ្ពស់ជាងទាក់ទងនឹងការធ្វើការជាមួយទិន្នន័យ។ អ្នកវិទ្យាសាស្ត្រទិន្នន័យភាគច្រើនចូលចិត្តប្រើភាសាដូចខាងក្រោម៖
ខណៈដែលប្រព័ន្ធទិន្នន័យផ្តល់ជូនវិធីសាស្រ្តមានប្រសិទ្ធភាពខ្ពស់ក្នុងការរក្សាទិន្នន័យ និងស្វែងរកសំណួរតាមភាសាសំណួរ វិធីសាស្រ្តដែលមានភាពបត់បែនបំផុតក្នុងការចុះបញ្ជីទិន្នន័យគឺការសរសេរកម្មវិធីផ្ទាល់របស់អ្នកដើម្បីផ្លាស់ប្តូរទិន្នន័យ។ នៅក្នុងករណីជាច្រើន ការស្វែងរកទិន្នន័យក្នុងប្រព័ន្ធទិន្នន័យអាចជាជម្រើសមានប្រសិទ្ធភាពជាង។ ប៉ុន្តែ នៅក្នុងករណីខ្លះៗ នៅពេលដែលត្រូវការចុះបញ្ជីទិន្នន័យស្មុគស្មាញជាងនេះ វាមិនអាចធ្វើបានយ៉ាងងាយស្រួលតាមរយៈ SQL ទេ។
ការដំណើរការទិន្នន័យអាចត្រូវបានចុះបញ្ជីជាកម្មវិធីនៅក្នុងភាសាកម្មវិធីណាមួយក៏ដោយ ប៉ុន្តែមានភាសារមួយចំនួនដែលមានកម្រិតខ្ពស់ជាងសម្រាប់ការដំណើរការជាមួយទិន្នន័យ។ អ្នកវិទ្យាសាស្ត្រទិន្នន័យភាគច្រើនចូលចិត្តភាសាមួយក្នុងចំណោមភាសាដូចខាងក្រោម៖
* **[Python](https://www.python.org/)**, ភាសាកម្មវិធីទូទៅមួយ ដែលជាញឹកញាប់ត្រូវបានគេចាត់ទុកថាជាជម្រើសល្អសម្រាប់អ្នកចាប់ផ្តើមដោយសារតែកែបំណងស្រាល។ Python មានបណ្ណាល័យបន្ថែម​ជាច្រើនដែលអាចជួយដោះស្រាយបញ្ហាទូទៅជាច្រើន ដូចជាការដកទិន្នន័យពីឯកសារ ZIP ឬបម្លែងរូបភាពទៅពណ៌ប្រផេះ។ បន្ថែមពីការវិទ្យាសាស្ត្រទិន្នន័យ Python ក៏ត្រូវបានប្រើសម្រាប់ការអភិវឌ្ឍបណ្ដាញគេហទំព័រផងដែរ។
* **[R](https://www.r-project.org/)** គឺជាឧបករណ៍ប្រអប់ធម្មតាមួយដែលបានបង្កើតសម្រាប់លទ្ធផលដំណើរការទិន្នន័យស្ថិតិ។ វាក៏មានបណ្ណាល័យធំមួយ (CRAN) ដែលធ្វើឱ្យវាជាជម្រើសល្អសម្រាប់ដំណើរការទិន្នន័យ។ តែក្រៅពីវិស័យវិទ្យាសាស្ត្រទិន្នន័យ R មិនមែនជាភាសាកម្មវិធីទូទៅទេ ហើយត្រូវបានប្រើប្រាស់តិចនៅក្រៅវិស័យនេះ។
* **[Julia](https://julialang.org/)** គឺជាភាសាមួយផ្សេងទៀតដែលបានបង្កើតឡើងជាពិសេសសម្រាប់វិជ្ជាវិទ្យាសាស្ត្រទិន្នន័យ។ វាត្រូវបានគោលបំណងដើម្បីផ្ដល់សមត្ថភាពល្អជាង Python ដែលធ្វើឱ្យវាជាឧបករណ៍ល្អសម្រាប់ការសាកល្បងវិទ្យាសាស្រ្ត។
* **[Python](https://www.python.org/)** ជាភាសាកម្មវិធីប្រើបានទូទៅ ដែលភាគច្រើនគេចាត់ទុកថាជាជម្រើសល្អសម្រាប់អ្នកចាប់ផ្តើមដោយសារតែភាពសាមញ្ញរបស់វា។ Python មានបណ្ណាល័យបន្ថែមច្រើនជំនួយដល់ការដោះស្រាយបញ្ហាទូទៅជាច្រើន ដូចជាការដកយកទិន្នន័យពីហារីល ZIP ឬបម្លែងរូបភាពទៅជាពណ៌សម្រាប់ត្រង់។ លើសពីការសិក្សាទិន្នន័យ Python ក៏ត្រូវបានប្រើជាញឹកញាប់សម្រាប់ការវិវឌ្ឍវេបសាយផងដែរ។
* **[R](https://www.r-project.org/)** ជាឧបករណ៍បុរាណមួយដែលបង្កើតឡើងសម្រាប់ការដំណើរការទិន្នន័យស្ថិតិ។ វាក៏មានបណ្ណាល័យធំនៅក្នុងស្តុក (CRAN) ដែលធ្វើឲ្យវាជាជម្រើសល្អសម្រាប់ការដំណើរការទិន្នន័យ។ ទោះបីជាយ៉ាងណា R មិនមែនជាភាសាកម្មវិធីទូទៅទេ ហើយត្រូវបានប្រើទូទៅក្នុងដែនការសិក្សាទិន្នន័យប៉ុណ្ណោះ។
* **[Julia](https://julialang.org/)** ជាភាសាផ្សេងទៀតដែលបង្កើតឡើងសម្រាប់ការសិក្សាទិន្នន័យ។ វាត្រូវបានរំពឹងទុកថានឹងផ្តល់ការអនុវត្តដែលល្អជាង Python ដូច្នេះវាជាឧបករណ៍ល្អសម្រាប់ការប្រឡងវិទ្យាសាស្ត្រ
ក្នុងមេរៀននេះ យើងនឹងផ្តោតលើការប្រើ Python សម្រាប់ដំណើរការទិន្នន័យសាមញ្ញ។ យើងនឹងសន្មត់ថាអ្នកមានការស្គាល់មូលដ្ឋានជាមួយភាសា។ ប្រសិនបើចង់ដឹងបន្ថែមអំពី Python អ្នកអាចយោងទៅកាន់ធនធានចំនួនមួយដូចខាងក្រោម៖
នៅក្នុងមេរៀននេះ យើងនឹងផ្តោតលើការប្រើ Python សម្រាប់ការដំណើរការទិន្នន័យសាមញ្ញ។ យើងនឹងទទួលស្គាល់ថាអ្នកមានការស្គាល់មូលដ្ឋានជាមួយភាសានេះ។ ប្រសិនបើអ្នកចង់មានការសិក្សាដ៏ជ្រាលជ្រៅអំពី Python អ្នកអាចយោងទៅកាន់ធនធានខាងក្រោម៖
* [រៀន Python យ៉ាងរីករាយជាមួយក្រមសម្លេង Turtle និង Fractals](https://github.com/shwars/pycourse) - វគ្គសិក្សាទី១សម្រាប់ការណែនាំលឿន Python លើ GitHub
* [ជំហានទីមួយជាមួយ Python](https://docs.microsoft.com/en-us/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) ផ្លូវសិក្សានៅលើ [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum)
* [សិក្សា Python ជាដំណើរការកំសាន្តជាមួយ Turtle Graphics និង Fractals](https://github.com/shwars/pycourse) - ការបណ្តុះបណ្តាល Python ដែលមានមូលដ្ឋាន GitHub
* [ចាប់ផ្តើមជំហានដំបូងជាមួយ Python](https://docs.microsoft.com/en-us/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) មាតិកាអប់រំលើ [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum)
ទិន្នន័យអាចមានរាងដូចជាច្រើន។ ក្នុងមេរៀននេះ យើងនឹងពិចារណាទាំងបីរាងទិន្នន័យ - **ទិន្នន័យតារាង**, **អត្ថបទ** និង **រូបភាព**។
ទិន្នន័យអាចមានរាងកាយជាច្រើន। នៅក្នុងមេរៀននេះ យើងនឹងពិចារណារូបមន្តទិន្នន័យបីប្រភេទ — **ទិន្នន័យតារាង**, **អត្ថបទ** និង **រូបភាព**។
យើងនឹងផ្តោតលើឧទាហរណ៍ជាច្រើននៃការដំណើរការទិន្នន័យ ដោយមិនបង្ហាញរឿងទាំងអស់នៃបណ្ណាល័យដែលទាក់ទង។ វានឹងអនុញ្ញាតឱ្យអ្នកយល់ពីគំនិតសំខាន់នៃអ្វីដែលអាចធ្វើបាន និងទុកឲ្យអ្នកយល់ថាតើគួររកការជំនួយនៅកន្លែងណា ពេលអ្នកត្រូវការ
យើងនឹងផ្តោតលើឧទាហរណ៍ចំនួនមួយសម្រាប់ការដំណើរការទិន្នន័យ ជំនួសការអោយបង្ហាញទាំងមូលស្តីពីបណ្ណាល័យទាំងអស់ដែលពាក់ព័ន្ធ។ វានឹងជួយអ្នកយល់ដឹងពីអ្វីដែលអាចធ្វើបាន ហើយឲ្យអ្នកមានចំណេះដឹងពីកន្លែងស្វែងរកដំណោះស្រាយនៅពេលដែលអ្នកត្រូវការពួកវា
> **របៀបណែនាំដ៏មានប្រយោជន៍​បំផុត**។ នៅពេលដែលអ្នកត្រូវការធ្វើប្រតិបត្តិការណ៍ណាមួយលើទិន្នន័យដែលអ្នកមិនដឹងធ្វើដូចម្តេច សូមស្វែងរកវាតាមអ៊ីនធឺណិត។ [Stackoverflow](https://stackoverflow.com/) ជាទូទៅមានគំរូកូដប្រើប្រាស់បានច្រើនក្នុង Python សម្រាប់ភារកិច្ចទូទៅជាច្រើន។
> **ដំបូន្មានមានប្រយោជន៍បំផុត**។ នៅពេលដែលអ្នកត្រូវការធ្វើប្រតិបត្ដិការណាមួយលើទិន្នន័យដែលអ្នកមិនដឹងថាតើធ្វើដូចម្តេច សូមស្វែងរកតាមអ៊ីនធើណិត។ [Stackoverflow](https://stackoverflow.com/) ជាទូទៅមានគំរូកូដ Python ច្រើនដែលមានប្រយោជន៍សម្រាប់បេសកកម្មទូទៅជាច្រើន។
## [សំណួរផ្ទេរមុនមេរៀន](https://ff-quizzes.netlify.app/en/ds/quiz/12)
## [សំណួរពិនិត្យមុនមេរៀន](https://ff-quizzes.netlify.app/en/ds/quiz/12)
## ទិន្នន័យតារាង និង Dataframes
អ្នកបានស្គាល់ទិន្នន័យតារាងរួចហើយនៅពេលដែលយើងបាននិយាយពីមូលដ្ឋានទិន្នន័យទំនាក់ទំនង។ នៅពេលអ្នកមានទិន្នន័យច្រើន ហើយវាត្រូវបានផ្ទុកក្នុងតារាងភ្ជាប់គ្នាច្រើន វាជាការសមរម្យក្នុងការប្រើ SQL ដើម្បីធ្វើការងារ។ ទោះយ៉ាងណា មានករណីជាច្រើនដែលយើងមានតារាងទិន្នន័យ ហើយយើងត្រូវការទទួលបាន **ការយល់ដឹង** ឬ **ការយល់កាន់តែល្អ** អំពីទិន្នន័យនេះ ដូចជា ចំណែកចាយ និងកការតភ្ជាប់រវាងតម្លៃ។ ក្នុងវិទ្យាសាស្ត្រទិន្នន័យ មានរឿងជាច្រើនដែលយើងត្រូវតែបំលែងទិន្នន័យដើមរួចបង្ហាញវា។ ទាំងពីរវិធីសាស្រ្តនោះអាចធ្វើបានយ៉ាងងាយស្រួលជាមួយ Python។
អ្នកបានស្គាល់ទិន្នន័យតារាងហើយនៅពេលដែលយើងបាននិយាយពីប្រព័ន្ធទិន្នន័យទំនាក់ទំនង។ ពេលដែលអ្នកមានទិន្នន័យច្រើន ហើយវាត្រូវបានផ្ទុកនៅតារាងជាច្រើនដែលភ្ជាប់គ្នា វាពិតជាមានអត្ថន័យក្នុងការប្រើ SQL រួចសម្រាប់ធ្វើការដំណើរការវា។ ទោះយ៉ាងណា មានករណីជាច្រើនអាលដែលយើងមានតារាងទិន្នន័យហើយត្រូវការស្វែងយល់ឬវិចារណាអំពីទិន្នន័យដូចជាការចែកចាយ ការតភ្ជាប់គ្នារវាងតម្លៃជាដើម។ នៅក្នុងវិស័យវិទ្យាសាស្ត្រទិន្នន័យ មានករណីយ៉ាងច្រើនដែលយើងត្រូវការប្រតិបត្ដិការ ការបម្លែងមួយចំនួនលើទិន្នន័យដើម ហើយបន្ទាប់មកធ្វើការបង្ហាញទិន្នន័យវិចិត្រសិល្បៈ។ ពីរជំហានទាំងនេះអាចធ្វើបានយ៉ាងងាយស្រួលដោយប្រើ Python។
មានបណ្ណាល័យពីរដែលមានប្រយោជន៍ខ្លាំងក្នុង Python ជួយអ្នកគ្រប់គ្រងទិន្នន័យតារាង៖
* **[Pandas](https://pandas.pydata.org/)** អនុញ្ញាតឱ្យអ្នកដំណើរការ **Dataframes** ដែលដូចជាតារាងទំនាក់ទំនង។ អ្នកអាចមានជួរឈរឈ្មោះហើយអាចបំពេញប្រតិបត្តិការបានលើជួរដេក ជួរឈរ និង Dataframes ជាទូទៅ។
* **[Numpy](https://numpy.org/)** ជាបណ្ណាល័យសម្រាប់ការងារជាមួយ **tensor** គឺជា **arrays** ពហុវិមាត្រ។ Array មានតម្លៃពីប្រភេទដូចគ្នា ហើយវាងាយស្រួលជាង DataFrame ប៉ុន្តែផ្តល់នូវប្រតិបត្តិការគណិតវិជ្ជាជាង ហើយបង្កើតចំណាយរចនាសម្ព័ន្ធតិចជាង។
មានបណ្ណាល័យ Python មួយចំនួនដែលមានប្រយោជន៍ខ្លាំងសម្រាប់ជួយអ្នកដោះស្រាយបញ្ហាទិន្នន័យតារាង៖
* **[Pandas](https://pandas.pydata.org/)** អនុញ្ញាតឲ្យអ្នកផ្លាស់ប្តូរអ្វីដែលគេហៅថា **Dataframes** ដែលស្រដៀងទៅនឹងតារាងទំនាក់ទំនង។ អ្នកអាចមានជួរឈរ​ដែលមានឈ្មោះ ហើយអាចប្រតិបត្ដិការផ្សេងៗលើយោងទៅលើជួរ​ ជួរឈរ និង Dataframes ជាទូទៅ។
* **[Numpy](https://numpy.org/)** គឺជាបណ្ណាល័យសម្រាប់ធ្វើការជាមួយ **tensors**, មានន័យថា **arrays** ឯកភាពច្រើនវិមាត្រ។ Array មានតម្លៃពីប្រភេទដូចគ្នា ហើយវាមានភាពសាមញ្ញជាង dataframe ប៉ុន្តែវាប្រើបានច្រើនសម្រាប់ប្រតិបត្ដិការជាប្រែប្រួលគណិតវិទ្យា និងបង្កើតការរំខានតិចជាង។
មានបណ្ណាល័យប្លែកៗមួយចំនួនដែលអ្នកគួរតែស្គាល់ផងដែរ៖
* **[Matplotlib](https://matplotlib.org/)** ជាបណ្ណាល័យប្រើសម្រាប់បង្ហាញទិន្នន័យ និងគូរសៀគ្វីក្រាប
* **[SciPy](https://www.scipy.org/)** ជាបណ្ណាល័យដែលមានមុខងារវិទ្យាសាស្រ្តបន្ថែម។ យើងបានប្រើបណ្ណាល័យនេះរួចនៅពេលពិភាក្សាអំពីប្រូបាបានិងស្ថិតិ។
មានបណ្ណាល័យផ្សេងទៀតមួយចំនួនដែលអ្នកគួរតែដឹងដូចជា៖
* **[Matplotlib](https://matplotlib.org/)** គឺជាបណ្ណាល័យសម្រាប់ការបង្ហាញទិន្នន័យ និងគូសក្រាហ្វ
* **[SciPy](https://www.scipy.org/)** គឺជាបណ្ណាល័យមួយសម្រាប់មុខងារវិទ្យាសាស្ត្របន្ថែមខ្លះ។ យើងបានស្គាល់បណ្ណាល័យនេះរួចពេលនិយាយពីប្រភាពនឹងស្ថិតិ
នេះជាកូដដែលអ្នកប្រើប្រាស់បាទធម្មតាដើម្បីនាំចូលបណ្ណាល័យទាំងនេះនៅដើមកម្មវិធី Python របស់អ្នក៖
ខាងក្រោមជាឧទាហរណ៍កូដដែលអ្នកភាគច្រើនប្រើសម្រាប់នាំចូលបណ្ណាល័យទាំងនេះនៅដើមកម្មវិធី Python របស់អ្នក៖
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import ... # អ្នកត្រូវការបញ្ជាក់កញ្ចប់រងដែលច្បាស់លាស់ដែលអ្នកត្រូវការ
from scipy import ... # អ្នកត្រូវការបញ្ជាក់ពីកញ្ចប់រងច្បាស់លាស់ដែលអ្នកត្រូវការ
```
Pandas គឺផ្តោតលើគំនិតបន្ទាត់មូលដ្ឋានមួយចំនួន។
### Series
Pandas ផ្អែកលើគំនិតមូលដ្ឋានជាច្រើន។
**Series** ជាជួរតម្លៃមួយ ស្រដៀងនឹងបញ្ជីឬ numpy array។ ខុសគ្នាពិសេសគឺ series មាន **index** ហើយនៅពេលយើងធ្វើប្រតិបត្តិការលើ series (ដូចជា បូករួម) អ្វីដែលកើតឡើងគឺយក index ចូលគិតផង។ Index អាចជាលេខចំនួនគត់ (ដែលគេប្រើលំនាំដើមនៅពេលបង្កើត series ពីបញ្ជី ឬ array) ឬច្រើនដូចជាគ្រាប់កាលបរិច្ឆេទ។
### Series
> **ចំណាំ**៖ មានកូដផ្តើមនៃ Pandas នៅក្នុងសៀវភៅសរសេរពិសេស [`notebook.ipynb`](notebook.ipynb)។ យើងបង្ហាញតែឧទាហរណ៍ខ្លះនៅទីនេះ ហើយអ្នកអាចចូលមើលសៀវភៅពេញលេញនេះបាន
**Series** គឺជាដំណើរការតម្លៃមួយជាសេរី វាស្រដៀងនឹងបញ្ជី ឬ numpy array។ ការប្រែមាថាខុសគ្នាលើសំខាន់គឺ series មាន **index** ផងដែរ ហើយពេលយើងបំពេញប្រតិបត្ដិការលើ series (ឧ. បូកបន្ថែម) វានឹងគិតខ្វះនៃ index ។ Index អាចជាថ្នាក់លេខខ្សែគំនរដែលសាមញ្ញ (ពេលបង្កើត series ពីបញ្ជី ឬ array វានឹងប្រើជាលំនាំប្រព័ន្ធ) ឬអាចមានរចនាសម្ព័ន្ធស្មុគស្មាញដូចជា លំនាំកាលបរិច្ឆេទ
យកឧទាហរណ៍៖ យើងចង់វិភាគការលក់នៅកន្លែងលក់អයිស្ក្រីមរបស់យើង។ មកបង្កើត series សម្រាប់ចំនួនលក់ (ចំនួនទំនិញលក់បានមួយថ្ងៃ) ក្នុងរយៈពេលមួយ៖
> **កត់ចំណាំ**៖ មានកូដ Pandas មួយចំនួនសម្រាប់អ្នកចាប់ផ្តើមនៅក្នុងក្រដាសសម្ភារៈជាមួយ [`notebook.ipynb`](notebook.ipynb)។ យើងបានគ្រាប់ពិពណ៌នាប៉ុន្មានឧទាហរណ៍នៅទីនេះ ហើយអ្នកអាចមកមើលក្រដាសពេញលេញបាន។
តើអ្នកគិតថាឧទាហរណ៍មួយ៖ យើងចង់វិភាគការលក់ទំនិញកន្លែងលក់កម្អិតទឹកកករបស់យើង។ យើងបង្កើតជួរលេខលក់ (ចំនួនទំនិញដែលបានលក់ក្នុងមួយថ្ងៃ) រយៈពេលខ្លះ៖
```python
start_date = "Jan 1, 2020"
@ -64,52 +66,46 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
![Time Series Plot](../../../../translated_images/km/timeseries-1.80de678ab1cf727e.webp)
![បង្ហាញការផ្លាស់ប្តូរពេលវេលា](../../../../translated_images/km/timeseries-1.80de678ab1cf727e.webp)
ឥឡូវ suppose រាល់សប្តាហ៍យើងរៀបចំវេទិការីក៏និងយកថង់អයිស្ក្រីមបន្ថែម ១០ កញ្ចប់សម្រាប់បុណ្យ។ យើងអាចបង្កើត series ផ្សេងទៀត ដែល index គឺសប្តាហ៍ ដើម្បីបង្ហាញពីវា៖
ឥឡូវយើងសន្មត់ថា រៀងរាល់សប្ដាហ៍យើងបញ្ចូលការប្រមូលផ្តុំមិត្តភក្តិ ហើយយកកញ្ចប់ទឹកកកបន្ថែម ១០ កញ្ចប់សម្រាប់ព្រឹត្តិការណ៍។ យើងអាចបង្កើត series មួយផ្សេងទៀតដែលមាន index ជាសប្ដាហ៍ ដើម្បីបង្ហាញពីរឿងនេះ៖
```python
additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"))
```
ពេលយើងបូក series ពីរជាមួយគ្នា អ្នកទទួលបានចំនួនសរុប៖
ពេលយើងបូក series ទាំងពីរជាមួយគ្នា យើងទទួលបានចំនួនសរុប៖
```python
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
![Time Series Plot](../../../../translated_images/km/timeseries-2.aae51d575c55181c.webp)
![បង្ហាញការផ្លាស់ប្តូរពេលវេលា](../../../../translated_images/km/timeseries-2.aae51d575c55181c.webp)
> **ចំណាំ** ថាយើងមិនបានប្រើសរសេរ​សាមញ្ញ `total_items+additional_items` ទេ។ ប្រសិនបើយើងធ្វើវា វានឹងមានតម្លៃ `NaN` (*Not a Number*) ច្រើននៅក្នុង series លទ្ធផល។ នេះដោយសារតែមានតម្លៃបាត់បង់នៅ index មួយចំនួនក្នុង series `additional_items` ហើយបូក `NaN` ជាមួយអ្វីគឺទទួលបាន `NaN`។ ដូច្នេះយើងត្រូវតែបញ្ជាក់តម្លៃ `fill_value` នៅពេលបូក។
> **កត់ចំណាំ** យើងមិនបានប្រើវិធីសាSimple៍ `total_items+additional_items` ដែលសាមញ្ញទេ។ ប្រសិនបើយើងធ្វើនោះ យើងនឹងទទួលបានតម្លៃ `NaN` (គ្មានលេខ) ច្រើននៅក្នុង series ផលិតពីការបូក។ នេះកើតឡើងដោយសារតម្លៃខ្វះខាតនៅចំណុច index មួយចំនួនក្នុង series `additional_items` ហើយការបូក `NaN` ជាមួយអ្វីៗដទៃស្ទើរតែផ្តល់ `NaN`។ ដូច្នេះយើងត្រូវបញ្ជាក់ប៉ារ៉ាម៉ែត្រផ្ទុកតម្លៃ `fill_value` ខណៈពេលបូក។
ជាមួយ time series យើងអាចអនុវត្ត **resample** លើ series ជាមួយចន្លោះពេលវេលាផ្សេងៗបាន។ ឧទាហរណ៍ suppose យើងចង់គណនាមធ្យមការលក់ប្រចាំខែ។ យើងអាចប្រើកូដដូចខាងក្រោម៖
ជាមួយ series ពេលវេលា យើងអាចប្ដូរសំណុំ (resample) ជាមួយវេលាលកដូចផ្សេងៗគ្នា។ ឧទាហរណ៍ សន្មតថាយើងចង់គណនាមធ្យមចំនួនលក់រៀងខែ។ យើងអាចប្រើលក្ខណៈខាងក្រោម៖
```python
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
![Monthly Time Series Averages](../../../../translated_images/km/timeseries-3.f3147cbc8c624881.webp)
![មធ្យមតារាងពេលវេលាប្រចាំខែ](../../../../translated_images/km/timeseries-3.f3147cbc8c624881.webp)
### DataFrame
DataFrame ជាជាការប្រមួល series ដែលមាន index ដូចគ្នា។ យើងអាចបង្រួបបង្រួម series ជាច្រើនចូលទៅក្នុង DataFrame៖
DataFrame គឺជាសំណុំមួយនៃ series ដែលមាន index ដូចគ្នា។ យើងអាចរួមបញ្ចូល series ច្រើនជាមួយគ្នាទៅជាទ្រង់ទ្រាយ DataFrame៖
```python
a = pd.Series(range(1,10))
b = pd.Series(["I","like","to","play","games","and","will","not","change"],index=range(0,9))
df = pd.DataFrame([a,b])
```
វានឹងបង្កើតតារាងបញ្ឈរ​ដូចខាងក្រោម៖
វានឹងបង្កើតតារាងផ្ដេកដូចខាងក្រោម៖
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| --- | --- | ---- | --- | --- | ------ | --- | ------ | ---- | ---- |
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | I | like | to | use | Python | and | Pandas | very | much |
យើងក៏អាចប្រើ Series ជាជួរឈរ និងបញ្ជាក់ឈ្មោះជួរឈរ ដោយប្រើ dictionary៖
យើងក៏អាចប្រើ Series ជាជួរឈរបាន ហើយបញ្ជាក់ឈ្មោះជួរឈរដោយប្រើវចនានុក្រម៖
```python
df = pd.DataFrame({ 'A' : a, 'B' : b })
```
វានឹងផ្តល់តារាងដូចខាងក្រោម៖
| | A | B |
@ -124,42 +120,39 @@ df = pd.DataFrame({ 'A' : a, 'B' : b })
| 7 | 8 | very |
| 8 | 9 | much |
**ចំណាំ** អ្នកក៏អាចទទួលបានចំណាត់ថ្នាក់តារាងនេះដោយប្ដូរទ្រង់ទ្រាយតារាងមុន ដូចជាសរសេរ
**កត់ចំណាំ** យើងក៏អាចទទួលបានទ្រង់ទ្រាយតារាងនេះដោយបម្លែងតារាងមុនពីជួរត្រៀមជួរឈរ ដូចជា
```python
df = pd.DataFrame([a,b]).T..rename(columns={ 0 : 'A', 1 : 'B' })
df = pd.DataFrame([a,b]).T.rename(columns={ 0 : 'A', 1 : 'B' })
```
ដែល `.T` មានន័យថាជាប្រតិបត្តិការប្ដូរ​ជួរដេកនិងជួរឈរ DataFrame ហើយ `rename` អនុញ្ញាតឱ្យអ្នកប្ដូរឈ្មោះជួរឈរឱ្យសមល្អដូចឧទាហរណ៍មុន។
នៅទីនេះ `.T` មានន័យថា ប្រតិបត្ដិការបម្លែងតារាង DataFrame ដោយប្តូរជួរនិងជួរឈរ ហើយ `rename` អនុញ្ញាតឲ្យយើងប្តូរឈ្មោះជួរឈរតាមឧទាហរណ៍មុន។
ខាងក្រោមជាប្រតិបត្តិការសំខាន់ៗដែលយើងអាចធ្វើបានលើ DataFrames៖
ខាងក្រោមជាប្រតិបត្ដិការសំខាន់ៗមួយចំនួនដែលយើងអាចចាត់ទុកទៅលើ DataFrames៖
**ជ្រើសជួរឈរ**។ យើងអាចជ្រើសជួរឈរ​ដោយសរសេរ `df['A']` - ប្រតិបត្តិការនេះត្រឡប់ជាមួយ Series។ យើងក៏អាចជ្រើសជួរឈរផ្នែកខ្លះ ចេញជាទំនាក់ទំនងថ្មី ដោយសរសេរ `df[['B','A']]` - វាត្រឡប់ជាមួយ DataFrame ផ្សេងទៀត
**ជ្រើសរើសជួរឈរ**។ យើងអាចជ្រើសជួរឈរផ្ទាល់ដោយសរសេរ `df['A']` - ប្រតិបត្ដិការនេះត្រូវបានត្រឡប់តម្លៃជា Series។ យើងក៏អាចជ្រើសជួរឈរមួយចំនួនទៅ DataFrame ផ្សេងទៀតដោយសរសេរ `df[['B','A']]` - វាបម្លែងទៅជា DataFrame មួយផងដែរ
**តម្រង** ជួរដេកជាក់លាក់ដោយលក្ខខណ្ឌ។ ឧទាហរណ៍ ដើម្បីទុកតែជួរដេកដែលជួរឈរ `A` មានតម្លៃធំជាង 5 យើងអាចសរសេរ `df[df['A']>5]`
**តម្រង** ជួរដោយលក្ខខណ្ឌ។ ឧទាហរណ៍ ដើម្បីច្រានចោលជួរដែលមានតម្លៃជួរឈរ `A` តិចជាង ឬស្មើ ៥ យើងអាចសរសេរ `df[df['A']>5]`
> **ចំណាំ** របៀបធ្វើការ​តម្រងគឺ៖ ការប៉ាឡេស្យុង `df['A']<5` ត្រឡប់ជាមួយ series ប៊ូលខាងមុខ បង្ហាញថាតើលក្ខខណ្ឌគឺពិត ឬមិនពិតសម្រាប់ធាតុទោលនីមួយៗក្នុង series ដើម `df['A']`។ នៅពេលដែល series ប៊ូលត្រូវបានប្រើជាអាំងឌិច វាត្រឡប់ជាមួយមាត្រដ្ឋានជួរដេកក្នុង DataFrame។ ដូច្នេះមិនអាចប្រើបញ្ញាពិត/មិនពិត Python ដូចជាសរសេរ `df[df['A']>5 and df['A']<7]` បានទេ។ ត្រូវប្រើប្រតិបត្តិការ `&` លើ boolean series ដូចជា `df[(df['A']>5) & (df['A']<7)]` (*សញ្ញាព័ណនេះចាំបាច់*។)
> **កត់ចំណាំ**៖ របៀបស្វែងរកត្រូវបានបំបែកដូចខាងក្រោម។ បារាង `df['A']<5` នឹងត្រឡប់របារ boolean ដែលបង្ហាញថា តម្លៃមួយៗក្នុង `df['A']` មានតម្លៃ True ឬ False ។ ពេលដែលប្រើ boolean series ជា index វានឹងត្រឡប់ជាចំនាត់ថ្នាក់ទ្រង់ទ្រាយ DataFrame។ ដូច្នេះមិនអាចប្រើបារម្ភ boolean code ក្នុង Python នៅផ្នែកនេះរួចបានទេ ហើយខុសឆ្គងក្នុងការចុះបញ្ជីដូចជា `df[df['A']>5 and df['A']<7]`។ ថែមទាំងត្រូវប្រើការប្រតិបត្ដិការពិសេស `&` លើ boolean series ជាមួយសញ្ញាស្វ័យបិទសញ្ញា `(` `)` ដូចជា `df[(df['A']>5) & (df['A']<7)]` (សញ្ញាស្វ័យបិទសារៈសំខាន់)។
**បង្កើតជួរឈរថ្មីដែលគណនា​បាន**។ យើងអាចបង្កើតជួរឈរក្នុង DataFrame ជាមួយសមីការផ្សេងៗដោយសាមញ្ញ៖
**បង្កើតជួរឈរប្រតិបត្ដិការថ្មី**។ យើងអាចបង្កើតជួរឈរថ្មីដែលគណនាចេញបានសម្រាប់ DataFrame ដោយប្រើបរិយាយសំណួរដូចខាងក្រោម៖
```python
df['DivA'] = df['A']-df['A'].mean()
```
ឧទាហរណ៍នេះគណនាការប្រែប្រួលរបស់ A ពីតម្លៃមធ្យមរបស់វា។ អ្វីដែលកើតឡើងនៅទីនេះគឺ យើងកំពុងគណនា series មួយ ហើយបន្ទាប់មកចាត់តម្លៃទៅឈាត្បិចឆ្វេង បង្កើតជួរឈរថ្មី។ ដូច្នេះយើងមិនអាចប្រើប្រតិបត្តិការ​អ្វីដែលមិនសមត្ថភាពជាមួយ seriesបានទេ។ ឧទាហរណ៍កូដខាងក្រោមខុស៖
ឧទាហរណ៍នេះគណនាភាពខុសគ្នារវាង A និងតម្លៃមធ្យមរបស់វា។ អ្វីដែលកើតឡើងពិតជាគឺយើងកំពុងគណនាដំណើរមួយ ហើយដាក់ series នេះទៅខាងឆ្វេង បង្កើតជួរឈរថ្មី។ ដូច្នេះ អ្នកមិនអាចប្រើប្រតិបត្ដិការណាដែលមិនប្រព័ន្ធពី series នៅទីនេះបានទេ។ ឧទាហរណ៍កូដខាងក្រោម គឺខុស៖
```python
# កូដខុស -> df['ADescr'] = "Low" ប្រសិនបើ df['A'] < 5 "Hi"
# កូដខុស -> df['ADescr'] = "ទាប" ប្រសិនបើ df['A'] < 5 ""
df['LenB'] = len(df['B']) # <-
```
ឧទាហរណ៍ចុងក្រោយទោះជាដោយលក្ខណៈវេយ្យាករណ៍គឺត្រឹមត្រូវ ប៉ុន្តែម្តងម៉ោងវាផ្ដល់លទ្ធផលខុសដោយសារតែវាវាយតម្លៃប្រវែងរបស់ series `B` ទៅកាន់តម្លៃទាំងអស់ នៅក្នុងជួរឈរនៃ DataFrame មិនមែនប្រវែងរបស់ធាតុមួយៗដូចដែលចង់បាន។
ឧទាហរណ៍នេះ ខណៈដែលសម្គាល់ត្រឹមត្រូវតាមវេយ្យាករណ៍ តែផ្តល់លទ្ធផលខុសក្នុងន័យថា វាបែងចែកប្រវែង series `B` ទៅតម្លៃទាំងអស់ក្នុងជួរឈរ មិនមែនប្រវែងនៃធាតុមួយៗដូចដែលយើងចង់បាន។
ប្រសិនបើយើងត្រូវបង្ហាញអនុគមន៍ស្មុគស្មាញដូចនេះ អាចប្រើមុខងារ `apply`។ ឧទាហរណ៍ចុងក្រោយអាចសរសេរដូចខាងក្រោម៖
ប្រសិនបើយើងត្រូវមានការគណនា expression ស្មុគស្មាញ ដូចនេះ អ្នកអាចប្រើមុខងារ `apply`។ ឧទាហរណ៍ចុងក្រោយអាចសរសេរដូចខាងក្រោម៖
```python
df['LenB'] = df['B'].apply(lambda x : len(x))
# ឬ
df['LenB'] = df['B'].apply(len)
```
បន្ទាប់ពីអនុវត្តខាងលើ យើងបាន DataFrame ដូចខាងក្រោម៖
បន្ទាប់ពីដំណើរការខាងលើ យើងនឹងទទួលបាន DataFrame ដូចខាងក្រោម៖
| | A | B | DivA | LenB |
| --- | --- | ------ | ---- | ---- |
@ -173,23 +166,21 @@ df['LenB'] = df['B'].apply(len)
| 7 | 8 | very | 3.0 | 4 |
| 8 | 9 | much | 4.0 | 4 |
**ជ្រើសជួរដេកដោយផ្អែកលើលេខ** អាចធ្វើបានដោយប្រើ `iloc`។ ឧទាហរណ៍ ជ្រើសជួរដេកចំនួន 5 ដំបូងពី DataFrame៖
**ជ្រើសរើសជួរដោយលេខសៀង** អាចធ្វើបានដោយប្រើ `iloc`។ ឧទាហរណ៍ ដើម្បីជ្រើសរើស ៥ ជួរដំបូងពី DataFrame៖
```python
df.iloc[:5]
```
**ការបើកក្រុម** គឺជារឿងជាញឹកញាប់សម្រាប់ទទួលបានលទ្ធផលស្រដៀងនឹង *pivot tables* នៅក្នុង Excel។ suppose យើងចង់គណនាតម្លៃមធ្យមនៃជួរឈរ `A` សម្រាប់ជួរឈរ `LenB` មួយៗ។ ហើយយើងអាចបង្រួម DataFrame ដោយ `LenB` ហើយហៅ `mean`
**ក្រុម** ត្រូវបានប្រើជាញឹកញាប់សម្រាប់ទទួលលទ្ធផលដូចជា *pivot tables* នៅក្នុង Excel។ សន្មតថាយើងចង់គណនាតម្លៃមធ្យមនៃជួរឈរ `A` សម្រាប់ភាគចំនួន `LenB` ទាំងឡាយ។ បន្ទាប់ពីនោះ​យើងអាចក្រុម DataFrame ដោយ `LenB` ហើយហៅ `mean`
```python
df.groupby(by='LenB')[['A','DivA']].mean()
```
ប្រសិនបើត្រូវការគណនាមធ្យម និងចំនួនធាតុនៅក្នុងក្រុម អ្នកអាចប្រើមុខងារ `aggregate` ស្មុគស្មាញ៖
ប្រសិនបើយើងចង់គណនាតម្លៃមធ្យម និងចំនួនធាតុមួយក្នុងក្រុម យើងអាចប្រើមុខងារ `aggregate` ដែលស្មុគស្មាញជាងនេះ៖
```python
df.groupby(by='LenB') \
.aggregate({ 'DivA' : len, 'A' : lambda x: x.mean() }) \
.rename(columns={ 'DivA' : 'Count', 'A' : 'Mean'})
```
វាបង្ហាញតារាងដូចខាងក្រោម៖
| LenB | Count | Mean |
@ -200,95 +191,98 @@ df.groupby(by='LenB') \
| 4 | 3 | 6.333333 |
| 6 | 2 | 6.000000 |
### ការទទួលទិន្នន័យ
យើងបានឃើញថាវាងាយស្រួលយ៉ាងដូចម្តេចក្នុងការបង្កើត Series និង DataFrames ពីវត្ថុ Python។ ប៉ុន្តែទិន្នន័យភាគច្រើនមានឡើងក្នុងរូបមន្តនៃឯកសារច្បាប់ ឬតារាង Excel។ โชคดีที่ Pandas ផ្ដល់ជម្រើសមួយសាមញ្ញក្នុងការលោតទិន្នន័យពីឌីស។ ឧទាហរណ៍ ការអានឯកសារ CSV គឺសាមញ្ញដូចខាងក្រោមនេះ៖
### ការទទួលបានទិន្នន័យ
យើងបានឃើញថាវាយ៉ាងងាយស្រួលក្នុងការបង្កើត Series និង DataFrames ពីវត្ថុ Python។ ប៉ុន្តែ ទិន្នន័យជាធម្មតាមកក្នុងទម្រង់ឯកសារអត្ថបទ ឬតារាង Excel។ ទំណុកបញ្ចោញ Pandas ផ្តល់ឱ្យ​យើងវិធីសាមញ្ញក្នុងការផ្ទុកទិន្នន័យពីឌីស។ ឧទាហរណ៍ ការអានឯកសារ CSV គឺងាយស្រួលដូចនេះ:
```python
df = pd.read_csv('file.csv')
```
យើងនឹងឃើញឧទាហរណ៍បន្ថែមទៀតនៃការលោតទិន្នន័យ រួមទាំងការទាញយកវាពីតំបន់បណ្តាញខាងក្រៅ ក្នុងផ្នែក "ប្រលង"
យើងនឹងឃើញឧទាហរណ៍បន្ថែមទៀតនៃការផ្ទុកទិន្នន័យ រួមមានការទាញយកពីគេហទំព័រចេញក្រៅ ក្នុងផ្នែក "Challenge"
### ការបោះពុម្ភ និងគំនូស
### ការបោះពុម្ពនិងបង្ហាញក្រាប
អ្នកវិទ្យាសាស្ត្រទិន្នន័យភាគច្រើនត្រូវស្វែងរកទិន្នន័យ ដូចនេះវាជារឿងសំខាន់ក្នុងការអាចមើលឃើញវា។ នៅពេល DataFrame មានទំហំធំ មួយចំនួនយើងត្រូវការតែប្រាកដថាយើងកំពុងធ្វើអ្វីបានត្រឹមត្រូវដោយបោះពុម្ភជួរដើមៗមួយចំនួន។ វាអាចធ្វើបានដោយការហៅ `df.head()`។ ប្រសិនបើអ្នកបង្ហាញវាពី Jupyter Notebook វានឹងបោះពុម្ភ DataFrame ជាទម្រង់តារាងដ៏ស្អាតមួយ។
អ្នកវិទ្យាសាស្ត្រទិន្នន័យជាញឹកញាប់ត្រូវតែស្វែងរកទិន្នន័យ ដូចនេះវាជារឿងសំខាន់ក្នុងការមានសមត្ថភាពមើលឃើញវា។ នៅពេល DataFrame មានទំហំធំ ជាច្រើនដង យើងចង់ធ្វើអោយប្រាកដថាយើងកំពុងធ្វើអ្វីៗបានត្រឹមត្រូវ ដោយបោះពុម្ពបញ្ជូលជួរដំបូងៗមួយប៉ុណ្ណោះ។ វាអាចធ្វើបានដោយហៅ `df.head()`។ ប្រសិនបើអ្នកកំពុងដំណើរការ វាពី Jupyter Notebook វានឹងបោះពុម្ព DataFrame ជាទម្រង់តារាងស្អាតមួយ។
យើងបានឃើញការប្រើប្រាស់ `plot` ដើម្បីចាក់បង្ហាញជួរឈរមួយចំនួន។ ខណៈដែ`plot` មានប្រយោជន៍សម្រាប់ការងារជាច្រើន ហើយគាំទ្រប្រភេទគំនូសជាច្រើនតាមព្រមានុភាព `kind=` អ្នកអាចតែងតែប្រើបណ្ណាល័យ `matplotlib` ដើមដើម្បីគូរអ្វីដែលស្មុគស្មាញជាងនេះ។ យើងនឹងពិពណ៌នាអំពីការមើលទិន្នន័យយ៉ាងលម្អិតក្នុងមេរៀនវគ្គផ្សេងៗ
យើងក៏បានឃើញករណីប្រើមុខងារ `plot` ដើម្បីបង្ហាញស្តង់ក្នុងជួរដេកមួយចំនួន។ ខណៈពេ`plot` មានប្រយោជន៍សម្រាប់ការងារជាច្រើន និងគាំទ្រប្រភេទក្រាបខុសៗគ្នាតាមរយៈប៉ារ៉ាម៉ែត្រ `kind=` អ្នកអាចប្រើបណ្ណាល័យ `matplotlib` ដំបូង ដើម្បីបង្ហាញអ្វីដែលស្មុគស្មាញជាងនេះ។ យើងនឹងពិភាក្សាពីការបង្ហាញទិន្នន័យជាលម្អិតក្នុងមេរៀនវគ្គបំបែកផ្សេងទៀត
ការពិចារណាទាំងនេះគ្របដណ្តប់គំនិតសំខាន់ៗភាគច្រើនរបស់ Pandas ប៉ុន្តែបណ្ណាល័យនេះមានភាពសម្បូរបែបខ្លាំង ហើយគ្មានដែនកំណត់អ្វីដែលអ្នកអាចធ្វើជាមួយវាទេ! ឥឡូវពួកយើងនឹងអនុវត្តចំណេះដឹងនេះដើម្បីដោះស្រាយបញ្ហាក់្បាស់លាស់មួយ។
ទិដ្ឋភាពទូទៅនេះគ្របដណ្តប់ចំនុចសំខាន់ៗបំផុតរបស់ Pandas ប៉ុន្តែបណ្ណាល័យនេះមានមាតិកាច្រើន ហើយគ្មានកំណត់ក្នុងអ្វីដែលអ្នកអាចធ្វើជាមួយវាទេ! យើងចាប់ផ្តើមប្រើចំណេះដឹងនេះដើម្បីដោះស្រាយបញ្ហាពិសេសមួយ។
## 🚀 ប្រលង ១៖ ការវិភាគការរីករាលដាល COVID
## 🚀 បញ្ហានឹងត្រូវដោះស្រាយ ១៖ វិភាគការចម្រើន COVID
បញ្ហាប្រកាសដែលយើងនឹងផ្តោតទៅលើគឺការមោងម៉ូដែលការរីករាលដាលរោគរាតត្បាត COVID-19។ ដើម្បីធ្វើការនេះ យើងនឹងប្រើទិន្នន័យអំពីចំនួនមនុស្សដែលឆ្លងជួរ​នីមួយៗនៅប្រទេសផ្សេងៗ ដែលបានផ្តល់ដោយ [មជ្ឈមណ្ឌលសង្គមវិជ្ជាសាស្ត្រនិងវិស្វកម្ម](https://systems.jhu.edu/) (CSSE) នៅ [សាកលវិទ្យាល័យ Johns Hopkins](https://jhu.edu/)។ សំណុំទិន្នន័យនេះអាចរកបាននៅក្នុង [សារពើភ័ណ្ឌ GitHub នេះ](https://github.com/CSSEGISandData/COVID-19)។
បញ្ហាលើកដំបូងដែលយើងនឹងផ្តោតគឺការគំរូនៃការផ្ទុះជំងឺរាតត្បាត COVID-19។ ដើម្បីធ្វើការនេះ យើងនឹងប្រើទិន្នន័យអំពីចំនួនអ្នកឆ្លងជំងឺនៅប្រទេសនានា ដែលបានផ្តល់ដោយ [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) នៅ [សាកលវិទ្យាល័យ Johns Hopkins](https://jhu.edu/)។ សំណុំទិន្នន័យអាចរកបាននៅ [GitHub Repository នេះ](https://github.com/CSSEGISandData/COVID-19)។
ដោយសារយើងចង់បង្ហាញពីរបៀបដោះស្រាយទិន្នន័យ អ្នកត្រូវបើកបោះពុម្ភ [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) ហើយអានវាពីលើផ្ទាំងខាងលើទៅក្រោម។ អ្នកអាចប្រតិបត្តិការ cells ផងនិងធ្វើប្រលងខ្លះដែលយើងបានទុកសម្រាប់អ្នកនៅចុងក្រោយ
ព្រោះយើងចង់បង្ហាញពីវិធីដោះស្រាយទិន្នន័យ យើងអញ្ជើញអ្នកបើក [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) ហើយអានពីលើទៅក្រោម។ អ្នកអាចបញ្ចូលកូដក្នុងខ្ទង់កូដ ក៏ដូចជាត្រូវបានជួបប្រទះបញ្ហាដែលយើងបានទុកសម្រាប់អ្នកនៅចុងផងដែរ
![COVID Spread](../../../../translated_images/km/covidspread.f3d131c4f1d260ab.webp)
> ប្រសិនបើអ្នកមិនដឹងយ៉ាងដូចម្តេចក្នុងការរត់កូដនៅក្នុង Jupyter Notebook សូមមើល [អត្ថបទនេះ](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)។
> ប្រសិនបើអ្នកមិនដឹងរបៀបដំណើរការកូដក្នុង Jupyter Notebook សូមមើល [អត្ថបទនេះ](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)។
## ការធ្វើការជាមួយទិន្នន័យមិនមានរចនាសម្ព័ន្ធ
## ការងារជាមួយទិន្នន័យមិនរៀបរយ
ខណៈដែលទិន្នន័យភាគច្រើនមានរូបមន្តក្នុងទម្រង់តារាង ករណីខ្លះយើងត្រូវប្រយ័ត្នជាមួយទិន្នន័យដែលមានរចនាសម្ព័ន្ធតិចជាង ដូចជាអត្ថបទឬរូបភាព។ ក្នុងករណីនេះ ដើម្បីអនុវត្តវិធីសាស្ត្របំពានទិន្នន័យដែលយើងបានឃើញខាងលើ អ្នកត្រូវការដកស្រង់ទិន្នន័យដែលមានរចនាសម្ព័ន្ធមួយយ៉ាងណាម្តង។ នេះគឺជាឧទាហរណ៍មួយចំនួន
រួមចំណែកទិន្នន័យជាញឹកញាប់មានទម្រង់តារាង ប៉ុន្តែក្នុងករណីខ្លះ យើងត្រូវការដោះស្រាយទិន្នន័យដែលមិនរៀបចំរួច ព្រមទាំងអត្ថបទ ឬរូបភាព។ ក្នុងករណីនេះ ដើម្បីអនុវត្តបច្ចេកទេសដំណើរការទិន្នន័យដែលបានមើលឃើញខាងលើ យើងត្រូវអាច **ដក** ទិន្នន័យរៀបចំបានមួយវិញ។ អ្វីខ្លះមានឧទាហរណ៍
* ដកពាក្យគន្លឹះពីអត្ថបទ ហើយមើលថាពាក្យគន្លឹះអាក្រក់កើតឡើងប៉ុន្មានដង
* ប្រើបណ្តាញប្រសាទដើម្បីលើកឡើងព័ត៌មានអំពីវត្ថុក្នុងរូបភាព
* ទទួលព័ត៌មានអារម្មណ៍របស់មនុស្សក្នុងវីដេអូជាបញ្ចូលពីកាមេរ៉ា
* ដកពាក្យគន្លឹះពីអត្ថបទ ហើយមើលថាពាក្យគន្លឹះទាំងនោះបង្ហាញ頻率ប៉ុន្មានដង
* ប្រើបណ្ណាល័យបណ្តាញប្រសាទ (neural networks) ដើម្បីដកព័ត៌មានរបស់វត្ថុនៅលើរូបភាព
* ទទួលបានព័ត៌មានអំពីអារម្មណ៍មនុស្សនៅលើវីដេអូផ្តល់ការតាមដាន
## 🚀 ប្រលង ២៖ ការវិភាគអត្ថបទ COVID
## 🚀 បញ្ហានឹងត្រូវដោះស្រាយ ២៖ វិភាគអត្ថបទ COVID
នៅក្នុងប្រលងនេះ យើងនឹងបន្តជាមួយប្រធានបទជំងឺរាតត្បាត COVID ហើយផ្តោតលើការបំពានក្រដាសវិទ្យាសាស្ត្រលើប្រធានបទនេះ។ មានសំណុំទិន្នន័យ [CORD-19 Dataset](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge) ដែលមានអត្ថបទលើសពី ៧០០០ (នៅពេលសរសេរ) អំពី COVID ដោយផ្ដល់ជាមួយព័ត៌មានមេតា និងសង្ខេប (និងសម្រាប់ប្រហែលពាក់កណ្តាលក្នុងចំណោមគេស្ថិតនៅមានអត្ថបទពេញ)។
ក្នុងបញ្ហានេះ យើងនឹងបន្តជាមួយប្រធានបទមហាភាព COVID និងផ្តោតលើដំណើរការអត្ថបទវិទ្យាសាស្ត្រអំពីប្រធានបទនេះ។ មាន [សំណុំទិន្នន័យ CORD-19](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge) ដែលមានអត្ថបទលើសពី 7000 (នៅពេលសរសេរ) អំពី COVID ព្រមទាំងមានមេតាទិន្នន័យ និងសេចក្ដីសង្ខេប (សម្រាប់ប្រមាណកន្លែងពាក់កណ្តាលមានអត្ថបទពេញលេញផ្តល់ទៀត)។
ឧទាហរណ៍ពេញលេញនៃការវិភាគសំណុំនេះដោយប្រើសេវាកម្មការយល់ដឹង [Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health/?WT.mc_id=academic-77958-bethanycheum) ត្រូវបានពិពណ៌នាជារបាយការណ៍ [នៅក្នុងប្លុកនេះ](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/)។ យើងនឹងពិភាក្សារបស់កំណែកំណត់ត្រឹមត្រូវនៃការវិភាគនេះ។
ឧទាហរណ៍ពេញលេញនៃការវិភាគសំណុំទិន្នន័យនេះដោយប្រើសេវាកម្មនៃ [Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health/?WT.mc_id=academic-77958-bethanycheum) ត្រូវបានពណ៌នានៅ [ប្រកាសប្លក់នេះ](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/). យើងនឹងពិភាក្សាអំពីកំណត់រូបភាពដែលបានបង្រួមនៃការវិភាគនេះ។
> **ចំណាំ**៖ យើងមិនផ្ដល់ចម្លងសំណុំទិន្នន័យជាផ្នែកនៃសារពើភ័ណ្ឌនេះទេ។ អ្នកប្រហែលជាត្រូវទាញយកឯកសារ [`metadata.csv`](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv) មុនពី [សំណុំទិន្នន័យនេះនៅ Kaggle](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge)។ អ្នកប្រហែលជាត្រូវចុះឈ្មោះជាមួយ Kaggle ដើម្បីចូលប្រើ។ អ្នកអាចទាញយកសំណុំទិន្នន័យដោយមិនចាំបាច់ចុះឈ្មោះ [នៅទីនេះ](https://ai2-semanticscholar-cord-19.s3-us-west-2.amazonaws.com/historical_releases.html) បែបនេះបានទេ ប៉ុន្តែវានឹងរួមបញ្ចូលអត្ថបទពេញទាំងអស់ក្រៅពីឯកសារ metadata
> **ចំណាំ**៖ យើងមិនផ្តល់ចម្លងសំណុំទិន្នន័យជាផ្នែកមួយនៃទីតាំងកំណត់នេះទេ។ អ្នកប្រហែលជាត្រូវទាញយកឯកសារ [`metadata.csv`](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv) ពី [សំណុំទិន្នន័យលើ Kaggle នេះ](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge) ជាមុន។ អ្នកប្រហែលជាត្រូវចុះឈ្មោះជាមួយ Kaggle។ អ្នកអាចទាញយកសំណុំទិន្នន័យដោយគ្មានចុះឈ្មោះ [ពីទីនេះ](https://ai2-semanticscholar-cord-19.s3-us-west-2.amazonaws.com/historical_releases.html) ប៉ុន្តែវានឹងរួមបញ្ចូលអត្ថបទពេញលេញទាំងអស់បូកជាមួយឯកសារមេតា
បើក [`notebook-papers.ipynb`](notebook-papers.ipynb) ហើយអានវាពីលើទៅក្រោម។ អ្នកអាចប្រតិបត្តិការចន្លោះទាំងមូល និងធ្វើប្រលងខ្លះដែលយើងបានទុកឲ្យអ្នកនៅចុងក្រោយផងដែរ។
បើក [`notebook-papers.ipynb`](notebook-papers.ipynb) ហើយអានពីលើទៅក្រោម។ អ្នកអាចបញ្ចូលកូដក្នុងខ្ទង់កូដ និងធ្វើបញ្ហាដែលយើងបានទុកសម្រាប់អ្នកនៅចុងផងដែរ។
![Covid Medical Treatment](../../../../translated_images/km/covidtreat.b2ba59f57ca45fbc.webp)
## ការដំណើរការទិន្នន័យរូបភាព
## ដំណើរការទិន្នន័យរូបភាព
នៅពេលថ្មីៗនេះ ម៉ូដែល AI មានអំណាចខ្លាំងត្រូវបានអភិវឌ្ឍដែលអនុញ្ញាតិឲ្យយើងយល់ពីរូបភាព។ មានកិច្ចការជាច្រើនដែលអាចដោះស្រាយបានដោយប្រើបណ្តាញប្រសាទដែលបានបណ្ដុះបណ្ដាលរួចហើយ ឬសេវាគ្លាពហោស័ណ្ឌ។ ឧទាហរណ៍តូចៗរួមមាន៖
ខណៈពេលថ្មីៗនេះ មានគំរូ AI ដែលមានអំណាចខ្លាំងត្រូវបានអភិវឌ្ឍ ដែលអាចឲ្យយើងយល់ពីរូបភាព។ មានការងារច្រើនដែលអាចដោះស្រាយបានដោយប្រើបណ្តាញប្រសាទដែលបានបណ្តុះជាមុន ឬសេវាកម្មពពក។ ឧទាហរណ៍មាន៖
* **ចំណាត់ថ្នាក់រូបភាព** ដែលជួយអោយអ្នកចាត់ថ្នាក់រូបភាពទៅក្នុងថ្នាក់ដែលបានកំណត់រួចមួយ។ អ្នកអាចបណ្ដុះបណ្ដាលម៉ូដែលចំណាត់ថ្នាក់រូបភាពជារបស់ខ្លួនយ៉ាងងាយស្រួលដោយប្រើសេវាកម្មដូចជា [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum)
* **ការរកឃើញវត្ថុ** ដើម្បីរកវត្ថុផ្សេងៗនៅក្នុងរូបភាព។ សេវាកម្មដូចជា [computer vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) អាចរកឃើញវត្ថុទូទៅជាច្រើន ហើយអ្នកអាចបណ្ដុះបណ្ដាលម៉ូដែល [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) ដើម្បីរកវត្ថុជាក់លាក់មួយចំនួនដែលចាប់អារម្មណ៍។
* **ការរកមុខ** រួមទាំង ការរកអាយុ ភេទ និងអារម្មណ៍។ វាអាចធ្វើបានតាមរយៈ [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum)។
* **ចំណាត់ថ្នាក់រូបភាព** ដែលអាចជួយអ្នកចាត់ថ្នាក់រូបភាពទៅក្នុងថ្នាក់ជាក់លាក់មួយ។ អ្នកអាចបណ្តុះនូវម៉ូដែលចំណាត់ថ្នាក់រូបភាពផ្ទាល់ខ្លួនបានយ៉ាងងាយស្រួលដោយប្រើសេវាកម្មដូចជា [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum)
* **រកសម្គាល់វត្ថុ** ដើម្បីរកអត្តសញ្ញាណវត្ថុផ្សេងៗនៅក្នុងរូបភាព។ សេវាកម្មដូចជា [computer vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) អាចរកប្រភេទវត្ថុទូទៅបានច្រើន ហើយអ្នកអាចបណ្តុះម៉ូដែល [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) ដើម្បីរកវត្ថុជាក់លាក់មួយចំនួនដែលមានំណាប់អារម្មណ៍។
* **រកសម្គាល់ផ្ទៃមុខ** រួមមានការកំណត់អាយុ ភេទ និងអារម្មណ៍។ វាអាចធ្វើបានតាមរយៈ [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum)។
សេវាកម្មគ្លាពทั้งหมดទាំងអស់ជាច្រើននេះអាចហៅប្រើបានដោយប្រើ [Python SDKs](https://docs.microsoft.com/samples/azure-samples/cognitive-services-python-sdk-samples/cognitive-services-python-sdk-samples/?WT.mc_id=academic-77958-bethanycheum) ហើយដូចនេះអាចបញ្ចូលបានយ៉ាងងាយស្រួលក្នុងដំណើរការស្វែងរកទិន្នន័យរបស់អ្នក។
សេវាកម្មពពកទាំងអស់នេះអាចហៅបានតាមរយៈ [Python SDKs](https://docs.microsoft.com/samples/azure-samples/cognitive-services-python-sdk-samples/cognitive-services-python-sdk-samples/?WT.mc_id=academic-77958-bethanycheum) ហើយដូច្នេះអាចបញ្ចូលយ៉ាងងាយស្រួលទៅក្នុងបណ្តារដ្ឋានស្វែងរកទិន្នន័យរបស់អ្នក។
េះជាឧទាហរណ៍ខ្លះៗនៃការស្វែងរកទិន្នន័យពីប្រភពទិន្នន័យរូបភាព
* នៅក្នុងប្លក [How to Learn Data Science without Coding](https://soshnikov.com/azure/how-to-learn-data-science-without-coding/) យើងស្វែងរករូបថត Instagram ព្យាយាមយល់ថាអ្វីធ្វើឲ្យមនុស្សចូលចិត្តរូបថតមួយច្រើនជាង។ យើងដកយកព័ត៌មានបានច្រើនបំផុតពីរូបភាពដោយប្រើប្រាស់ [computer vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) ហើយបន្ទាប់មកប្រើ [Azure Machine Learning AutoML](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml/?WT.mc_id=academic-77958-bethanycheum) ដើម្បីបង្កើតម៉ូដែលដែលអាចពន្យល់បាន។
* នៅក្នុង [Facial Studies Workshop](https://github.com/CloudAdvocacy/FaceStudies) យើងប្រើ [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum) ដើម្បីស្វែងយល់អារម្មណ៍លើមនុស្សក្នុងរូបថតពីព្រឹត្តិការណ៍ ដើម្បីព្យាយាមយល់ថាអ្វីធ្វើឲ្យមនុស្សសប្បាយចិត្ត
ៅទីនេះមានឧទាហរណ៍មួយចំនួននៃការស្វែងរកទិន្នន័យពីប្រភពទិន្នន័យរូបភាព:
* នៅក្នុងប្លក [How to Learn Data Science without Coding](https://soshnikov.com/azure/how-to-learn-data-science-without-coding/) យើងស្វែងយល់ពីរូបថត Instagram ដើម្បីព្យាយាមយល់ថាអ្វីជាឧបករណ៍ជួយអោយមនុស្សចុចចូលច្រើនជាង ពីរូបថតមួយ។ យើងដកព័ត៌មានច្រើនបំផុតពីរូបភាពដោយប្រើ [computer vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) ហើយបន្ទាប់មកប្រើ [Azure Machine Learning AutoML](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml/?WT.mc_id=academic-77958-bethanycheum) ដើម្បីបង្កើតម៉ូដែលអាចពន្យល់បាន។
* នៅក្នុង [Facial Studies Workshop](https://github.com/CloudAdvocacy/FaceStudies) យើងប្រើ [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum) ដកអារម្មណ៍មនុស្សនៅលើរូបថតពីព្រឹត្តិការណ៍ ដើម្បីព្យាយាមយល់ថាអ្វីធ្វើអោយមនុស្សមានសុភមង្គល
## សេចក្ដីសន្និដ្ឋាន
មិនថា អ្នកមានទិន្នន័យដែលមានរចនាសម្ព័ន្ធ ឬមិនមានរចនាសម្ព័ន្ធ មុននឹងប្រើ Python អ្នកអាចអនុវត្តជំហានទាំងអស់ដែលពាក់ព័ន្ធនឹងការបំពានទិន្នន័យ និងការយល់ដឹងលើវា។ វាជារបៀបដែលរាបស្រាយបំផុតក្នុងការបំពានទិន្នន័យ ហើយនេះគឺជាហេតុផលដែលភាគច្រើនអ្នកវិទ្យាសាស្ត្រ ទិន្នន័យប្រើប្រាស់ Python ជាឧបករណ៍ដើមរបស់ពួកគេ។ ការរៀន Python ជ្រៅជាងគឺជាគំនិតល្អ ប្រសិនបើអ្នកចង់ធ្វើជាអ្នកវិទ្យាសាស្ត្រ ទិន្នន័យយ៉ាងស្មោះត្រង់!
មិនថាអ្នកមានទិន្នន័យរៀបចំ ឬមិនរៀបចំហើយ ការប្រើប្រាស់ Python អ្នកអាចអនុវត្តជំហានទាំងអស់ដែលពាក់ព័ន្ធនឹងដំណើរការ និងការយល់ដឹងលើទិន្នន័យ។ វាបាច់បាតជារបៀបដែលបត់បែនបំផុតសម្រាប់ដំណើរការទិន្នន័យ ហើយនេះជាហេតុផលដែលអ្នកវិទ្យាសាស្ត្រទិន្នន័យភាគច្រើនប្រើ Python ជាឧបករណ៍ដ៏សំខាន់របស់ពួកគេ។ ការសិក្សា Python ជ្រៀងជ្រែករីករាយគឺជាគំនិតល្អ ប្រសិនបើអ្នកមានចំណាប់អារម្មណ៍យ៉ាងខ្លាំងលើដំណើរទស្សនៈទិន្នន័យរបស់អ្នក!
## [សំនួរសរសេរបង្ហាញក្រោយមេរៀន](https://ff-quizzes.netlify.app/en/ds/quiz/13)
## [វាយតម្លៃបន្ទាប់មកមេរៀន](https://ff-quizzes.netlify.app/en/ds/quiz/13)
## ការពិនិត្យឡើងវិញ និងការសិក្សាផ្ទាល់ខ្លួន
## ការត្រួតពិនិត្យ និងសិក្សាឯករាជ្យ
**សៀវភៅ**
* [Wes McKinney. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython](https://www.amazon.com/gp/product/1491957662)
**ធនធានអនឡាញ**
* មេរៀនផ្លូវការជាចំនួន [១០ នាទីទៅ Pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html)
* [ឯកសារអំពីការមើលទិន្នន័យ Pandas Visualization](https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html)
* មេរៀនផ្លូវការ [10 minutes to Pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html)
* [បណ្ណាល័យលើការបង្ហាញទិន្នន័យ Pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html)
**ការរៀន Python**
* [រៀន Python ជាមួយកម្រងតុក្កតា និងរាង Fractals ដោយរីករាយ](https://github.com/shwars/pycourse)
* [ចាប់ផ្តើមជំហានដំបូងជាមួយ Python](https://docs.microsoft.com/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) ផ្លូវការសិក្សា នៅលើ [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum)
**ការស្វែងរៀន Python**
* [រៀន Python ជារបៀបរីករាយជាមួយ Turtle Graphics និង Fractals](https://github.com/shwars/pycourse)
* [ចាប់ផ្តើមជំហានដំបូងរបស់អ្នកជាមួយ Python](https://docs.microsoft.com/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) ផ្លូវសិក្សាលើ [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum)
## បេសកកម្ម
## ការប្រឡង
[អនុវត្តការសិក្សាទិន្នន័យអោយលម្អិតជាងនេះសម្រាប់ប្រលងខាងលើ](assignment.md)
[អនុវត្តការសិក្សាទិន្នន័យលម្អិតសម្រាប់បញ្ហានៅលើ](assignment.md)
## អំណោយផល
## ការដាក់ទស្សនៈ
មេរៀននេះត្រូវបានសរសេរជាមួយ ♥️ ដោយ [Dmitry Soshnikov](http://soshnikov.com)
មេរៀននេះត្រូវបានបង្កើតជាមួយ ♥️ ដោយ [Dmitry Soshnikov](http://soshnikov.com)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការបដិសេធ**
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលយើងខិតខំអោយបានភាពត្រឹមត្រូវ សូមយល់ថាការបកប្រែដោយស្វ័យប្រវត្តិក្ដីអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមក្នុងភាសារដើមគួរត្រូវបានយកជាអនុស្សាវរីយ៍ដ៏ទាន់សម័យ។ សម្រាប់ព័ត៌មានដែលមានសារៈសំខាន់ ការបកប្រែដោយអ្នកជំនាញមនុស្សត្រូវបានណែនាំ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកបفا្ציותខុសដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះឡើយ
**ការបដិសេធ**:
ឯកសារនេះត្រូវបានបម្លែងភាសា ដោយប្រើសេវាបម្លែងភាសា AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះយើងខ្ញុំមានក្តីប្រាថ្នាឱ្យបានច្បាស់លាស់ តែសូមយល់ដឹងថាការបម្លែងដោយស្វ័យប្រវត្តិក៏អាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទីតាំងគួរត្រូវបានគេប្រើជាប្រភពច្បាស់លាស់។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យប្រើប្រាស់ការប្រែដោយមនុស្សជំនាញ។ យើងខ្ញុំមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសបន្ទាប់ពីការប្រើប្រាស់ការបម្លែងនេះនោះទេ
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save