Python Programming Archives - Data School https://data-school.mn/tag/python-programming/ Data & AI Academy Mon, 02 Jun 2025 03:15:54 +0000 mn hourly 1 https://wordpress.org/?v=6.8.5 https://data-school.mn/wp-content/uploads/2023/01/cropped-Icon-Rounded-32x32.png Python Programming Archives - Data School https://data-school.mn/tag/python-programming/ 32 32 Python Top 10 Hack – Кодоо Ухаалгаар Бичих 10 Арга https://data-school.mn/python-top-10-hack/ Wed, 02 Apr 2025 06:26:48 +0000 https://data-school.mn/?p=48094 Python нь код бичих хурд, ойлгомжтой байдлаараа алдартай. Гэхдээ мэргэжлийн хөгжүүлэгчид эдгээр богино, хэрэгцээтэй ‘hack’-уудыг ашиглан Python-г бүр илүү үр дүнтэй ашигладаг. Энэхүү нийтлэлээр та …

The post Python Top 10 Hack – Кодоо Ухаалгаар Бичих 10 Арга appeared first on Data School.

]]>
Python нь код бичих хурд, ойлгомжтой байдлаараа алдартай. Гэхдээ мэргэжлийн хөгжүүлэгчид эдгээр богино, хэрэгцээтэй ‘hack’-уудыг ашиглан Python-г бүр илүү үр дүнтэй ашигладаг.

Энэхүү нийтлэлээр та Python-г илүү ухаалгаар, цэгцтэй, товчхон ашиглах 10 ашигтай аргыг сурах болно.

1. Олон хувьсагчид нэгэн зэрэг утга оноох

Python-д олон хувьсагчид нэгэн зэрэг утга оноож болно.

x, y, z = 10, 20, 30

Энэ нь дараахтай адил боловч илүү цэвэр:

x = 10
y = 20
z = 30

2. Түр зуурын хувьсагчгүйгээр утга солих

Хоёр хувьсагчийн утгыг temp хувьсагч ашиглалгүйгээр солих боломжтой:

a, b = b, a

Энэ нь дараахтай адил үр дүнтэй:

temp = a
a = b
b = temp

3. enumerate() ашиглан индекс болон утгыг зэрэг авах

Жагсаалтын элементүүд болон тэдгээрийн индексийг зэрэг ашиглах шаардлагатай бол enumerate() хамгийн тохиромжтой:

fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
    print(index, fruit)

Ингэснээр range(len(fruits)) ашиглах шаардлагагүй болно.

4. zip() ашиглан олон жагсаалтыг зэрэг гүйцэтгэх

Хоёр буюу түүнээс дээш жагсаалтыг зэрэг гүйлгэх бол zip() маш үр дүнтэй:

names = ['Alice', 'Bob', 'Charlie']
scores = [85, 90, 78]

for name, score in zip(names, scores):
    print(f"{name}: {score}")

5. List Comprehension ашиглан богино код бичих

List comprehension нь жагсаалт үүсгэх хамгийн богино, цэвэр арга юм:

squares = [x**2 for x in range(10)]

Мөн if нөхцөл нэмж болно:

even_squares = [x**2 for x in range(10) if x % 2 == 0]

6. set() ашиглан жагсаалтаас давхардал арилгах

Жагсаалтын давхардлыг арилгах хамгийн хурдан арга бол set() ашиглах:

items = [1, 2, 2, 3, 4, 4, 5]
unique_items = list(set(items))

7. Нэг мөрөнд if-else ашиглах (Ternary оператор)

Энгийн нөхцөл шалгах логикийг нэг мөрөнд бичиж болно:

status = "Pass" if score >= 60 else "Fail"

Энэ нь дараахтай ижил утгатай:

if score >= 60:
    status = "Pass"
else:
    status = "Fail"

8. *args ба **kwargs ашиглан уян хатан функц бичих

Хэдэн ч параметр хүлээн авч чаддаг функц:

def greet(*args, **kwargs):
    for name in args:
        print(f"Hi, {name}")
    for key, value in kwargs.items():
        print(f"{key} = {value}")

Жишээ:

def greet(*args):
    for name in args:
        print(f"Сайн байна уу, {name}!")

greet('Ану', 'Батаа', 'Ганбаа')

Үр дүн:

Сайн байна уу, Ану!
Сайн байна уу, Батаа!
Сайн байна уу, Ганбаа!

9. Dictionary Comprehension ашиглах

List comprehension шиг хэлбэрээр dictionary үүсгэж болно:

squares = {x: x**2 for x in range(5)}

Гаралт:

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

10. dict.get() ашиглан түлхүүр шалгах

Түлхүүр байхгүй үед KeyError гарахаас сэргийлж, default утга оноох:

my_dict = {'name': 'Sara'}
age = my_dict.get('age', 18)

age түлхүүр байхгүй тул 18 default утга оноогдоно.

Дүгнэлт

Эдгээр 10 Python hack нь:

  • Код бичих хурдыг нэмэгдүүлнэ
  • Кодын уншигдах байдал сайжруулна
  • Танд илүү үр бүтээлтэй хөгжүүлэлт хийх боломж олгоно

Өдөр тутмын Python хэрэглээндээ эдгээр аргуудыг туршиж үзээрэй.

The post Python Top 10 Hack – Кодоо Ухаалгаар Бичих 10 Арга appeared first on Data School.

]]>
Python Virtual Environment үүсгэх https://data-school.mn/python-virtual-environment-%d2%af%d2%af%d1%81%d0%b3%d1%8d%d1%85/ Fri, 19 Jul 2024 07:20:37 +0000 https://data-school.mn/?p=36548 Virtual Environment гэж юу вэ? Virtual Environment (виртуал орчин) нь Python дээр хөгжүүлэгдэх төслийн тусгайлан тохируулагдсан орчин юм. Энэ нь тухайн төслийн шаардлагад нийцсэн Python-ийн …

The post Python Virtual Environment үүсгэх appeared first on Data School.

]]>
Virtual Environment гэж юу вэ?

Virtual Environment (виртуал орчин) нь Python дээр хөгжүүлэгдэх төслийн тусгайлан тохируулагдсан орчин юм. Энэ нь тухайн төслийн шаардлагад нийцсэн Python-ийн хувилбар болон сангуудыг тусад нь суулгаж, өөр өөр төслүүдийг хоорондын зөрчилдөөнөөс сэргийлдэг.

Windows дээр virtual environment үүсгэх

  1. Python болон venv суулгасан эсэхийг шалгах:
   python --version
   python -m venv --help
  1. Virtual environment үүсгэх: Төслийнхөө үндсэн хавтас руу очиж, virtual environment үүсгэнэ:
   python -m venv myenv
  1. Virtual environment идэвхжүүлэх:
   myenv\Scripts\activate

Linux дээр virtual environment үүсгэх

  1. Python болон venv суулгасан эсэхийг шалгах:
   python3 --version
   python3 -m venv --help
  1. Virtual environment үүсгэх: Төслийнхөө үндсэн хавтас руу очиж, virtual environment үүсгэнэ:
   python3 -m venv myenv
  1. Virtual environment идэвхжүүлэх:
   source myenv/bin/activate

Virtual environment дотор ажиллах

Virtual environment идэвхжүүлсний дараа та тус орчинд сангууд суулгах, устгах, шинэчлэх үйлдлийг хийх боломжтой. Жишээлбэл, pip ашиглан сан суулгах:

pip install numpy

requirements.txt файл ашиглан сан суулгах

requirements.txt файл нь Python төслийн шаардлагатай сангуудыг жагсаасан текст файл юм. Энэ файлыг ашиглан тухайн төслийн бүх шаардлагатай сангуудыг амархан суулгах боломжтой.

  1. Виртуал орчин үүсгэх болон идэвхжүүлэх:

Windows:

   python -m venv myenv
   myenv\Scripts\activate

Linux:

   python3 -m venv myenv
   source myenv/bin/activate

  1. requirements.txt файлд сангуудыг тодорхойлох:
   # requirements.txt файлыг үүсгэх
   numpy==1.21.0
   pandas==1.3.0
   tensorflow==2.5.0
   scikit-learn==0.24.2

  1. requirements.txt файлд тодорхойлсон сангуудыг суулгах:
   pip install -r requirements.txt

Virtual environment-ийн давуу тал нь тусгайлан тохируулсан орчинтой тул аливаа төслийн шаардлагад нийцсэн сангуудыг зөвхөн тухайн орчинд суулгах боломжтой. Ингэснээр төслүүд хоорондоо зөрчилдөхгүй, хялбар удирдах боломжийг олгоно.

The post Python Virtual Environment үүсгэх appeared first on Data School.

]]>
Python Class тухай https://data-school.mn/python-class-%d1%82%d1%83%d1%85%d0%b0%d0%b9/ Thu, 18 Jul 2024 04:28:00 +0000 https://data-school.mn/?p=36538 Python-ы класс бол объект хандалтат программчлалын үндсэн нэгж юм. Класс нь объектуудын төлөв (Attribute) ба үйлдлүүдийг (Action) тодорхойлдог. Классыг тодорхойлохдоо class түлхүүр үгийг ашиглана. Класс …

The post Python Class тухай appeared first on Data School.

]]>
Python-ы класс бол объект хандалтат программчлалын үндсэн нэгж юм. Класс нь объектуудын төлөв (Attribute) ба үйлдлүүдийг (Action) тодорхойлдог. Классыг тодорхойлохдоо class түлхүүр үгийг ашиглана. Класс дотор хувьсагчид ба функцуудыг тодорхойлж болно.

Доорх жишээгээр Python-д хэрхэн класс тодорхойлохыг тайлбарлая.

Класс тодорхойлох

Алхам 1: Класс үүсгэх

class Dog:
    # Конструктор метод (объект үүсгэх үед дуудагдана)
    def __init__(self, name, age):
        self.name = name  # Объектын төлөв буюу Attribute
        self.age = age    # Объектын төлөв буюу Attribute

    # Объектын үйлдэл (Action) буюу метод
    def bark(self):
        return f"{self.name} is barking."

    def get_age(self):
        return f"{self.name} is {self.age} years old."

Алхам 2: Объект үүсгэх

my_dog = Dog("Buddy", 3)  # Dog классын жишээ буюу объект үүсгэх

# Объектын төлөвүүдэд хандах
print(my_dog.name)  # Output: Buddy
print(my_dog.age)   # Output: 3

# Объектын методыг дуудах
print(my_dog.bark())     # Output: Buddy is barking.
print(my_dog.get_age())  # Output: Buddy is 3 years old.

Тайлбар

  1. Класс тодорхойлох: class түлхүүр үгийг ашиглаж классыг тодорхойлно. Манай жишээнд Dog нэртэй класс байна.
  2. Конструктор метод: __init__ нь тусгай метод бөгөөд объект үүсгэх үед автоматаар дуудагдана. Энэ метод дотор self параметрээр дамжуулан объектын төлөвийг тодорхойлдог. self нь тухайн объектыг зааж байгаа бөгөөд үргэлж эхний параметр байх ёстой.
  3. Төлөв: self.name ба self.age нь Dog классын объектын төлөвүүд юм. Тэдгээрийг __init__ метод дотор оноож өгдөг.
  4. Метод: Класс дотор тодорхойлсон функцуудыг метод гэнэ. Манай жишээнд bark ба get_age гэсэн хоёр метод байна. Эдгээр нь тухайн объектыг өөрийн self параметрээр дамжуулан үйлдэл гүйцэтгэдэг.
  5. Объект үүсгэх: my_dog нэртэй Dog классын нэг жишээ буюу объект үүсгэсэн. Объект үүсгэх үед __init__ метод дуудагдан, name болон age төлөвүүдийг онооно.
  6. Төлөв ба методыг ашиглах: Объектын төлөвүүдэд хандахдаа my_dog.name, my_dog.age гэх мэтээр хандана. Объектын методыг дуудахдаа my_dog.bark(), my_dog.get_age() гэх мэтээр дуудаж болно.

Нэмэлт метод болон төлөв нэмэх

Dog класст нэмэлт төлөв болон методыг нэмэх боломжтой. get_breed гэсэн методыг нэмье.

class Dog:
    def __init__(self, name, age, breed):
        self.name = name
        self.age = age
        self.breed = breed  # Нэмэлт төлөв

    def bark(self):
        return f"{self.name} is barking."

    def get_age(self):
        return f"{self.name} is {self.age} years old."

    def get_breed(self):
        return f"{self.name} is a {self.breed}."

# Шинэ объект үүсгэх
my_dog = Dog("Buddy", 3, "Golden Retriever")

# Нэмэлт методыг дуудах
print(my_dog.get_breed())  # Output: Buddy is a Golden Retriever.

Класс болон методыг нэрлэх стандарт

Python-д класс болон методын нэрлэхдээ дагаж мөрдөх стандартууд байдаг. Эдгээр стандартууд нь кодыг илүү ойлгомжтой, засварлахад хялбар болгож өгдөг. Python-д эдгээр стандартуудыг PEP 8 (Python Enhancement Proposal 8) гэж нэрлэдэг.

1. Класс Нэрлэх Стандарт

  • КамелКейс (CamelCase) ашиглана.
  • Нэрийг том үсгээр эхлүүлнэ.
  • Үг хоорондын зайг том үсгээр тэмдэглэнэ.

Жишээ:

class MyClass:
    pass

class Dog:
    pass

class DataProcessor:
    pass

2. Метод болон Хувьсагч нэрлэх стандарт

  • СнейкКейс (snake_case) ашиглана.
  • Нэрийг жижиг үсгээр эхлүүлнэ.
  • Үг хоорондын зайг доогуур зураас (_) ашиглан тэмдэглэнэ.

Dog class:

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def bark(self):
        return f"{self.name} is barking."

    def get_age(self):
        return f"{self.name} is {self.age} years old."

Car class:

class Car:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year

    def start_engine(self):
        return f"The {self.make} {self.model} engine is now running."

    def stop_engine(self):
        return f"The {self.make} {self.model} engine is now off."

    def get_car_info(self):
        return f"{self.year} {self.make} {self.model}"

The post Python Class тухай appeared first on Data School.

]]>
Хүн амын тоог графикаар дүрслэх https://data-school.mn/%d1%85%d2%af%d0%bd-%d0%b0%d0%bc%d1%8b%d0%bd-%d1%82%d0%be%d0%be%d0%b3-%d0%b3%d1%80%d0%b0%d1%84%d0%b8%d0%ba%d0%b0%d0%b0%d1%80-%d0%b4%d2%af%d1%80%d1%81%d0%bb%d1%8d%d1%85/ Sat, 25 May 2024 13:04:39 +0000 https://data-school.mn/?p=34892 Python-ы Matplotlib болон Seaborn сангуудыг ашиглан Монгол улсын хүн амын тоон мэдээллийг графикаар хэрхэн дүрслэхийг энэхүү нийтлэлээр үзье. Хүн амын тооны өгөгдлийг 1212.mn сайтаас авч …

The post Хүн амын тоог графикаар дүрслэх appeared first on Data School.

]]>
Python-ы Matplotlib болон Seaborn сангуудыг ашиглан Монгол улсын хүн амын тоон мэдээллийг графикаар хэрхэн дүрслэхийг энэхүү нийтлэлээр үзье. Хүн амын тооны өгөгдлийг 1212.mn сайтаас авч бэлдсэн.

Эхлээд шаардлагатай сангуудаа оруулж ирнэ.

# Шаардлагатай сангуудыг оруулна
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

Бэлдсэн өгөгдлөө уншиж оруулна.

population = pd.read_excel('population.xlsx')
population.head()

Индексийг жилээр сольж, өгөгдлийг 1000-д хувааж хувиргалт хийнэ.

population.set_index('Year', inplace=True)
population = population.div(1000).round(1)
population.head()

Бэлдсэн өгөгдлөө ашиглан шугаман график, баганан график болон heatmap байгуулъя.

Шугаман график байгуулах жишээ

# Графикны урт, өргөнийг тохируулна
plt.figure(figsize=(16,6))

# Өгөгдлөө ашиглан шугаман график байгуулна
sns.lineplot(data=population)

Графиктаа гарчиг өгөхдөө дараах тохиргоог хийнэ.

# Графикны урт, өргөнийг тохируулна
plt.figure(figsize=(16,6))

# Гарчиг тохируулах
plt.title("Хүн амын тоо, бүсээр, 1990-2021 (Мянган хүн)")

# Өгөгдлөө ашиглан шугаман график байгуулна
sns.lineplot(data=population)

Зөвхөн хангайн бүс болон төвийн бүсийн өгөгдлөөр график байгуулах

# Графикны урт, өргөнийг тохируулна
plt.figure(figsize=(14,6))

# Гарчиг тохируулах
plt.title("Хүн амын тоо, бүсээр, 1990-2021 (Мянган хүн)")

# Line chart 1 - Хангайн бүс
sns.lineplot(data=population['Хангайн бүс'], label="Хангай")

# Line chart 2 - Төвийн бүс
sns.lineplot(data=population['Төвийн бүс'], label="Төв")

# Хэвтээ тэнхлэгийн гарчиг
plt.xlabel("Жил")

# Босоо тэнхлэгийн гарчиг
plt.ylabel("Хүн амын тоо")

Баганан график байгуулах жишээ

# Бэлдсэн өгөгдөл унших
aimag = pd.read_excel('aimag.xlsx')

# Баганын нэр өөрчлөх
aimag = aimag.rename(columns={2021: 'Хүн ам'})

# Index өөрчлөх
aimag.set_index('Аймаг', inplace=True)

# Өгөгдлийн эхний мөрүүдийг харах
aimag.head()

Өгөгдлөө ашиглан график байгуулах

# Графикны урт, өргөнийг тохируулна
plt.figure(figsize=(10,6))

# Гарчиг тохируулах
plt.title("Аймгуудын хүн ам")

# Bar chart 
sns.barplot(x=aimag.index, y=aimag['Хүн ам'])

# Босоо тэнхлэгт нэр өгөх
plt.ylabel("Хүн намын тоо")

Хэвтээ тэнхлэгийн нэрийг 45 градус эргүүлж харахад тохиромжтой болгох

# Графикны урт, өргөнийг тохируулна
plt.figure(figsize=(10,6))

# Гарчиг тохируулах
plt.title("Аймгуудын хүн ам")

# Bar chart 
sns.barplot(x=aimag.index, y=aimag['Хүн ам'])

# Босоо тэнхлэгт нэр өгөх
plt.ylabel("Хүн намын тоо")

# Тэнхлэг эргүүлэх
plt.xticks(rotation=45)

Heatmap байгуулах

# Графикны урт, өргөнийг тохируулна
plt.figure(figsize=(14,7))

# Гарчиг тохируулах
plt.title("Бүсүүдийн хүн амын тоо")

# Heatmap 
sns.heatmap(data=population, annot=False)

# Хэвтээ тэнхлэгийн нэр тохируулах
plt.xlabel("Бүсүүд")

The post Хүн амын тоог графикаар дүрслэх appeared first on Data School.

]]>
Python дээр Subplot байгуулах арга https://data-school.mn/python-%d0%b4%d1%8d%d1%8d%d1%80-subplot-%d0%b1%d0%b0%d0%b9%d0%b3%d1%83%d1%83%d0%bb%d0%b0%d1%85-%d0%b0%d1%80%d0%b3%d0%b0/ Thu, 23 May 2024 10:51:35 +0000 https://data-school.mn/?p=34734 Энэхүү нийтлэлээр Matplotlib ашиглан хэрхэн нэг хавтгайд хэд хэдэн график байгуулах аргыг үзье. Үр дүн:

The post Python дээр Subplot байгуулах арга appeared first on Data School.

]]>
Энэхүү нийтлэлээр Matplotlib ашиглан хэрхэн нэг хавтгайд хэд хэдэн график байгуулах аргыг үзье.

# Шаардлагатай сангууд
import matplotlib.pyplot as plt
import numpy as np

# Өгөгдөл үүсгэх
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
y4 = np.exp(-x)

# 2х2 харьцаатай буюу 4 график байгуулах тэмплэйт үүсгэх. Хавтгайн хэмжээ 10x8.
fig, axs = plt.subplots(2, 2, figsize=(10, 8))

## Хэсэг бүрт график байгуулах
# Subplot 1. row 0, col 0
axs[0, 0].plot(x, y1, 'r')  
axs[0, 0].set_title('Sine Function')

# Subplot 2. row 0, col 1
axs[0, 1].plot(x, y2, 'g')  
axs[0, 1].set_title('Cosine Function')

# Subplot 3. row 1, col 0
axs[1, 0].plot(x, y3, 'b')  
axs[1, 0].set_title('Tangent Function')
# y тэнхлэгийг -10;+10 хооронд байгуулна
axs[1, 0].set_ylim(-10, 10)

# Subplot 4. row 1, col 1
axs[1, 1].plot(x, y4, 'k')  
axs[1, 1].set_title('Exponential Decay')

# Layout тохируулах
plt.tight_layout()

# Графикийг харуулах
plt.show()

Үр дүн:

The post Python дээр Subplot байгуулах арга appeared first on Data School.

]]>
Python баганын нэрийг өөрчлөх https://data-school.mn/python-%d0%b1%d0%b0%d0%b3%d0%b0%d0%bd%d1%8b%d0%bd-%d0%bd%d1%8d%d1%80%d0%b8%d0%b9%d0%b3-%d3%a9%d3%a9%d1%80%d1%87%d0%bb%d3%a9%d1%85/ Mon, 22 Apr 2024 06:30:59 +0000 https://data-school.mn/?p=34326 Python Pandas сан ашиглан өгөгдсөн датафрэйм-н баганын нэрийг өөрчлөх зааврыг хүргэж байна. Дараах rename() функц ашиглан дараах байдлаар өөрчилнө. Жишээ: ‘Name’ баганын нэрийг ‘Full name’ …

The post Python баганын нэрийг өөрчлөх appeared first on Data School.

]]>
Python Pandas сан ашиглан өгөгдсөн датафрэйм-н баганын нэрийг өөрчлөх зааврыг хүргэж байна.

Дараах rename() функц ашиглан дараах байдлаар өөрчилнө.

df = df.rename(columns={'old_column_name': 'new_column_name'})

Жишээ: ‘Name’ баганын нэрийг ‘Full name’ болгон өөрчилье.

import pandas as pd

# create a sample DataFrame
data = {'Name': ['Bat', 'Erdene', 'Oyu'], 
        'Age': [28, 24, 35]}
df = pd.DataFrame(data)

# rename the 'Name' column to 'Full Name'
df = df.rename(columns={'Name': 'Full Name'})

print(df)

Үр дүн:

   Full Name   Age
0  Bat         28
1  Erdene      24
2  Oyu         35

Мөн хэд хэдэн баганыг зэрэг өөрчилж болно.

df = df.rename(columns={'Name': 'Full Name', 'Age': 'Years'})

The post Python баганын нэрийг өөрчлөх appeared first on Data School.

]]>