빅데이터 QAQC_3기/빅데이터 QAQC_3기 TIL

TIL_250917

usungusung 2025. 9. 17. 20:05

Today I learned

 

1. 데이터 분석 파이썬 종합반(python) 2주차

 

1) 리스트

 - 리스트(list)

        여러 항목을 담을 수 있는 가변 시퀀스

         대괄호 [ ] 를 사용하여 리스트를 만들 수 있음

        ex) my_list = [1, 2, 3, 4, 5]

 

- 리스트의 인덱싱

        인덱싱: 리스트의 특정 위치의 값에 접근하는 방법

        ex) my_list = [1, 2, 3, 4, 5]

              first_number = number[0]

              print(first_number)

               # 출력: [1]

 

- 리스트의 메소드

my_list = [1, 2, 3, 4, 5]

        1) append(): 리스트에 항목 추가

                  my_list.append(6)
                  print(my_list)
                  # 출력: [1, 2, 3, 4, 5, 6]
 

        2) extend(): 리스트에 다른 리스트의 모든 항목 추가

                  my_list.extend([7, 8, 9]) 
                  print(my_list)
                  # 출력: [1, 2, 3, 4, 5, 6, 7, 8, 9]
 

        3) insert(): 특정 위치에 항목 삽입

                  my_list.insert(2, 10) 
                  print(my_list)
                  # 출력: [1, 2, 10, 3, 4, 5, 6, 7, 8, 9]
 

         4) remove(): 특정 값 삭제

                  my_list.remove(3)
                  print(my_list)
                  # 출력: [1, 2, 10, 4, 5, 6, 7, 8, 9]
 

         5) pop(): 특정 위치 값 제거 및 반환

                  popped_value = my_list.pop(5) 
                  print(popped_value)  # 출력: 6
                  print(my_list)
                  # 출력: [1, 2, 10, 4, 5, 7, 8, 9]
 

         6) index(): 특정 값의 인덱스를 찾음

                  print(my_list.index(4))
                  # 출력: 3 (값 4의 인덱스)
 

         7) count(): 특정 값의 개수를 세어줌

                  print(my_list.count(7))
                  # 출력: 1 (값 7의 개수)

         8) sort(): 항목 정렬

                  my_list.sort()
                  print(my_list)
                  # 출력: [1, 2, 4, 5, 7, 8, 9, 10]
 

         9) reverse(): 항목을 역순으로

                  my_list.reverse()

                  print(my_list)

                  # 출력: [10, 9, 8, 7, 5, 4, 2, 1]

 

- 슬라이싱: 리스트의 일부분만 추출

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

          1) 일부분만 추출하기
                    print(my_list[2:5])
                    # 출력: [3, 4, 5]

          2) 처음부터 추출
                    print(my_list[:5])
                    # 출력: [1, 2, 3, 4, 5]

          3) 끝까지 추출
                    print(my_list[5:])
                    # 출력: [6, 7, 8, 9, 10]

          4) 뒤에서부터 추출
                    print(my_list[-3:])
                    # 출력: [8, 9, 10]

          5) 특정 간격으로 추출
                    print(my_list[1:9:2])
                    # 출력: [2, 4, 6, 8]

          6) 리스트 전체 복사
                    copy_of_list = my_list[:]
                    print(copy_of_list)
                    # 출력: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

          7) 리스트를 거꾸로
                    reversed_list = my_list[::-1]
                    print(reversed_list)
                    # 출력: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
 

2) 튜플

         변경할 수 없는 시퀀스

         리스트와 유사 but 추가, 삭제, 수정 불가

         소괄호 () 사용하여 생성

         ex) my_tuple = (1, 2, 3, 'hello', 'world')

 

- 튜플의 인덱싱, 슬라이싱

          my_tuple = (1, 2, 3, 'hello', 'world')


           1)첫 번째 요소에 접근
                     print(my_tuple[0])

                    # 출력: 1

 

           2) 마지막 요소에 접근
                     print(my_tuple[-1]) 

                    # 출력: world

 

           3) 인덱스 2부터 3까지의 요소를 슬라이싱
                     print(my_tuple[2:4])

                    # 출력: (3, 'hello')

 

- 튜플의 메소드

  my_tuple = (1, 2, 3, 4, 1, 2, 3)

            1) count() 
                        count_of_1 = my_tuple.count(1)
                        print("Count of 1:", count_of_1)

                        # 출력: 2

            2) index()
                        index_of_3 = my_tuple.index(3)
                        print("Index of 3:", index_of_3)

                        # 출력: 2

 

3) 딕셔너리

           키-값 쌍의 데이터를 저장하는 자료구조

           중괄호 { } 로 구분
           ex) my_dict = {
                            'key1': 'value1',
                            'key2': 'value2',
                            'key3': 'value3'
                        }

 

- 딕셔너리의 메소드

            my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

             1) keys() 
                        keys = my_dict.keys()
                        print("Keys:", keys)

                        # 출력: dict_keys(['name', 'age', 'city'])

             2) values()
                        values = my_dict.values()
                        print("Values:", values)

                        # 출력: dict_values(['John', 30, 'New York'])

             3) items()
                        items = my_dict.items()
                        print("Items:", items)            

                        # 출력: dict_items([('name', 'John'), ('age', 30), ('city', 'New York')])

             4) get()
                        age = my_dict.get('age')
                        print("Age:", age)

                        # 출력: 30

             5) pop()
                        city = my_dict.pop('city')
                        print("City:", city)

                        # 출력: New York
                        print("Dictionary after pop:", my_dict)

                        # 출력: {'name': 'John', 'age': 30}

 

             6) popitem()
                        last_item = my_dict.popitem()
                        print("Last item popped:", last_item)

                        # 출력: ('age', 30)
                        print("Dictionary after popitem:", my_dict)

                        # 출력: {'name': 'John'}

 

2. 데이터 분석 파이썬 종합반(python) 3주차

1) 조건문(if, else, elif)

- 특정 조건이 참인 경우에만 코드 실행

              ex)

              x = 10
              if x > 0:
                  print("양수입니다.")
              elif x < 0:
                  print("음수입니다.")
              else:
                  print("0입니다.")

 

- 들여쓰기: python은 들여쓰기를 통해 블록을 식별하기 때문

 

- 연산자

              > : 초과

              < : 미만

              >= : 이상

              <= : 이하

              == : 같음

              != : 같지 않음

 

- 논리 연산자

              and : 모두 참 일 때 참

              or : 하나 이상 참 일 때 참

              not : 조건을 부정

 

2) 반복문(for)

- 코드를 일정 규칙에 따라 반복시키는 문법

              ex)

               for 변수 in 반복할_데이터:
                   코드_블록

 

- for문의 기본적인 사용

1) 리스트 순회

               fruits = ["apple", "banana", "cherry"]
               for fruit in fruits:
                   print(fruit)

               #출력: apple, banana, cherry

 

2) 문자열 순회

               for letter in "hello":
                   print(letter)

               #출력: h, e, l, l, o

 

3) range() 와 함께 사용

               for i in range(5):
                   print(i)

               #출력: 0, 1, 2, 3, 4

 

4) 딕셔너리 순회

               person = {"name": "John", "age": 30, "city": "New York"}
               for key, value in person.items():
                   print(key, " : ", value)

               #출력: name : John age : 30 city : New York

 

3) 조건문 + 반복문

1) 짝수만 출력

               for i in range(1, 11):
                   if i % 2 == 0:
                       print(i)

               #출력: 2 4 6 8 10

 

2) 리스트에서 특정 값 거르기

                numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

               even_number = []

               for num in numbers:

                   if num % 2 == 0:

                       even_numbers.append(num)

               print(even_numbers)

 

3) 직각삼각형 그리기

                size = 10
                for i in range(1, size + 1):
                    print("*" * i)

 

4) 문자열에서 특정 문자 제거하기

                sentence = "Hello World"
                result = ""
                for char in sentence:
                    if char != "o":
                        result += char
                print(result)

 

4) 딕셔너리에서 조건에 맞는 항목 출력하기

                ages = {"John": 30, "Jane": 25, "Doe": 35, "Alice": 20}
                for name, age in ages.items():
                    if age > 25:
                        print(name, " is older than 25")

 

4) 이중 for문

1) 구구단을 외자

                for i in range(2, 10):
                    for j in range(1, 10):
                        print(i, "x", j, "=", i*j)

 

2) 삼각형 만들기

                size = 5
                for i in range(size):
                    for j in range(i + 1):
                        print("*", end="")
                    print()

 

3) 역삼각형 만들기

                size = 5
                for i in range(size, 0, -1):
                    for j in range(i):
                        print("*", end="")
                    print()

 

5) while문

- 특정 조건을 만족하는 동안 코드 블록을 반복적으로 실행

 

                while 조건:
                    코드_블록

 

1) while의 기본적인 사용법

- 1부터 5까지 출력하기

                i = 1
                while i <= 5:
                    print(i)
                    i += 1

 

- 사용자 입력 받기

                user_input = ''
                while user_input != 'quit':
                    user_input = input("Type 'quit' to exit: ")
                    print("You typed:", user_input)

               

- 무한 루프와 break

                while True:
                    user_input = input("Type 'quit' to exit: ")
                    if user_input == 'quit':
                        break
                    print("You typed:", user_input) 

 

- 조건에 따른 특정 동작 반복

                num = 5
                factorial = 1
                while num > 0:
                    factorial *= num
    num -= 1
print("Factorial of 5 is:", factorial)

 

3. 데이터 분석 파이썬 종합반(python) 4주차

1) 함수

- 입력을 받아 원하는 처리를 한 후 출력을 내보내는 일련의 작업을 수행하는 코드 블록

- 함수 정의

def 함수이름(매개변수1, 매개변수2, ...):
    # 함수 내부에서 수행할 작업
    return 결과값  # (선택적) 함수의 결과를 반환

 

def 키워드로 함수를 정의함

 

ex)

# 함수 정의
def greet(name):
    message = "Hello, " + name + "!"
    return message

# 함수 호출
greeting = greet("Alice")
print(greeting)  # 출력: Hello, Alice!

 

2) 함수 심화

- 전역변수

프로그램 전체에서 접근 가능한 변수, 어디서든 사용 가능

 

- 지역변수

특정한 범위에서만 접근 가능한 변수

 

ex)

# 전역변수 예시
global_var = 10

def global_example():
    print("전역변수 접근:", global_var)

global_example()  # 출력: 전역변수 접근: 10

# 지역변수 예시
def local_example():
    local_var = 20
    print("지역변수 접근:", local_var)

local_example()  # 출력: 지역변수 접근: 20

# 함수 내에서 전역변수를 수정하는 예시
def modify_global():
    global global_var
    global_var = 30
    print("함수 내에서 수정된 전역변수:", global_var)

modify_global()  # 출력: 함수 내에서 수정된 전역변수: 30
print("수정된 전역변수 확인:", global_var)  # 출력: 수정된 전역변수 확인: 30

'빅데이터 QAQC_3기 > 빅데이터 QAQC_3기 TIL' 카테고리의 다른 글

TIL_250919  (1) 2025.09.19
TIL_250918  (0) 2025.09.18
TIL_250916  (1) 2025.09.16
TIL_250915  (0) 2025.09.15
TIL_250912  (0) 2025.09.12