본문 바로가기
Data Analysis/Data Engineering

IBM Data Engineer - Python for Data Science, AI & Development

by Hagrid 2023. 4. 5.
반응형

Types

Types

이 동영상에서는 Python의 다양한 데이터 유형에 대해 설명합니다:

 

  • 정수(int): 정수는 양수와 음수를 모두 포함하는 정수입니다. 파이썬에는 정수의 범위가 넓지만 한정되어 있습니다.
  • 부동 소수점(float): 부동 소수점은 정수와 정수 사이의 숫자를 포함하는 실수입니다. 파이썬에서 부동 소수점의 정밀도에는 한계가 있지만 그 폭은 매우 작습니다.

  • 문자열(str): 문자열은 문자의 시퀀스입니다. 텍스트나 숫자를 텍스트로 표현하는 데 사용할 수 있습니다.

  • 부울(bool): 부울에는 True(대문자 T 포함)와 False(대문자 F 포함)의 두 가지 값이 있습니다. 이진 상태 또는 조건을 나타내는 데 사용됩니다.

유형 변환은 한 데이터 유형을 다른 데이터 유형으로 변환하는 프로세스입니다:

정수를 실수로 변환하거나 그 반대로 변환할 수 있습니다. 그러나 부동 소수점을 정수로 변환할 때 소수 부분이 잘려서 일부 정보가 손실될 수 있습니다.
정수 값이 포함된 문자열을 정수로 변환할 수 있지만 정수가 아닌 값이 포함된 문자열을 정수로 변환하면 오류가 발생합니다.
정수 또는 부동 소수점을 문자열로 변환할 수 있습니다.
부울 참을 정수 또는 실수로 변환하면 1이 되고 부울 거짓을 변환하면 0이 됩니다. 마찬가지로 부울에 1을 캐스팅하면 참이 되고 0을 캐스팅하면 거짓이 됩니다.


Python의 더 많은 예제 및 기타 데이터 유형에 대한 자세한 내용은 제공된 실습 연습 또는 Python의 공식 문서를 참조하세요.

Expressions and Variables

Expressions and Variables

 

이 동영상에서는 파이썬의 표현식과 변수에 대해 설명합니다:

표현식: 표현식은 컴퓨터가 수행하는 연산을 설명합니다. 피연산자와 연산자로 구성됩니다. 기본적인 산술 연산의 예는 다음과 같습니다:

덧셈: 5 + 3(결과: 8)
빼기: 10 - 6(결과: 4)
곱셈: 4 * 2 (결과: 8)
나눗셈: 25 / 5 (결과: 5.0)
정수 나누기: 25 // 6 (결과: 4)
파이썬은 우선순위를 지정하기 위해 괄호를 사용하는 등 연산 순서에 대한 수학적 규칙을 따릅니다.

변수: 변수는 파이썬에서 값을 저장하는 데 사용됩니다. 변수에 값을 할당하려면 할당 연산자(=)를 사용합니다.

예: my_variable = 1
변수를 새 값으로 재할당할 수 있습니다: my_variable = 10
변수는 표현식의 결과를 저장할 수 있습니다: x = 5 + 3
연산에 변수를 사용할 수 있음: y = x / 3
type() 함수를 변수에 적용하여 데이터 유형을 결정할 수 있습니다.
코드를 더 읽기 쉽게 만들기 위해 의미 있는 변수 이름을 사용하는 것이 좋습니다.

Example: Convert the total number of minutes to hours

total_min = 142  # total minutes
total_hour = total_min / 60  # convert to hours

이 예제에서 total_min은 총 분 수(142)를 저장하고, total_hour는 total_min을 60으로 나누어 분을 시간으로 변환한 결과(약 2.367)를 저장합니다. total_min의 값이 변경되면 나누기를 다시 수행할 때 total_hour의 값도 그에 따라 업데이트됩니다.

String Operations

String Operations

  • Strings: A string is a sequence of characters enclosed in single or double quotes. Strings can contain spaces, digits, special characters, or a combination of these.
  • 문자열: 문자열은 작은따옴표 또는 큰따옴표로 묶인 문자 시퀀스입니다. 문자열에는 공백, 숫자, 특수 문자 또는 이들의 조합이 포함될 수 있습니다.
my_string = "Hello, World!"
  • 인덱싱: 문자열은 정렬된 시퀀스이며, 각 문자는 색인(양수 또는 음수)을 사용하여 액세스할 수 있습니다.
first_char = my_string[0]       # 'H'
last_char = my_string[-1]       # '!'
  • 슬라이싱: Strings can be sliced using a start, end, and optional stride.
every_second_char = my_string[::2]         # 'Hlo ol!'
substring_up_to_index_4 = my_string[:4:2]  # 'Hl'

 

  • 길이: The len() function returns the length of a string.
string_length = len(my_string)  # 13
  • Concatenation and Replication: Strings can be concatenated using the + operator and replicated using the * operator.
concatenated = "Hello, " + "World!"   # "Hello, World!"
replicated = "Hello " * 3             # "Hello Hello Hello "
  • Immutability: Strings are immutable, meaning their values cannot be changed directly. However, new strings can be created by modifying an existing string.
new_string = "Michael Jackson" + " is the best"
  • Escape Sequences: Backslashes \ are used to represent escape sequences like \n (new line) and \t (tab). To include a backslash in a string, use \\.
  • String Methods: Strings have various methods for manipulation, such as upper(), replace(), and find().
original = "Hello, World!"
uppercased = original.upper()                         # "HELLO, WORLD!"
replaced = original.replace("World", "Python")        # "Hello, Python!"
found = original.find("World")                        # 7
not_found = original.find("Nonexistent Substring")   # -1

요약하면, 파이썬의 문자열은 인덱싱, 슬라이싱, 연결, 복제 및 다양한 내장 메서드를 사용하여 조작할 수 있는 문자 시퀀스입니다. 문자열은 불변이므로 변경하면 새로운 문자열이 생성됩니다.

 


List and Tuples

List and Tuples

이 동영상에서는 Python의 복합 데이터 유형인 리스트와 튜플을 다룹니다.

튜플은 괄호 안에 쉼표로 구분된 요소로 표현되는 정렬된 시퀀스입니다. 문자열, 정수, 부동 소수점 등 다양한 유형을 포함할 수 있지만 변수 유형은 여전히 튜플입니다. 튜플은 불변이므로 변경할 수 없습니다. 인덱스를 통해 요소에 액세스할 수 있으며, 튜플을 연결, 분할 및 중첩할 수 있습니다.

튜플의 예시입니다:

ratings = ('A', 3, 4.2)



목록은 대괄호로 표시되는 정렬된 시퀀스이기도 합니다. 튜플과 비슷하지만 변경 가능하므로 요소를 변경할 수 있습니다. 목록에는 문자열, 부동 소수점, 정수, 중첩된 목록 또는 튜플이 포함될 수 있습니다. 목록에도 튜플과 동일한 인덱싱 규칙이 적용됩니다.

목록의 예

L = ['hard rock', 10, 1.2]



리스트와 튜플 모두 인덱스 번호를 사용하여 액세스, 조각화, 연결할 수 있습니다. 확장() 및 추가()와 같은 목록 메서드를 사용하여 목록을 수정할 수 있으며, del 명령을 사용하여 요소를 삭제할 수 있습니다. 문자열은 split() 메서드를 사용하여 목록으로 변환할 수 있습니다. 목록은 별칭이 지정될 수 있으므로 두 변수가 동일한 목록을 참조할 수 있지만 복제를 사용하면 원본 목록의 새 복사본을 만들 수 있습니다. 리스트, 튜플 및 기타 Python 객체에 대해 자세히 알아보려면 help() 명령을 사용하세요.

예제:

튜플의 요소에 액세스하기:

first_element = ratings[0]



목록 조각화하기:

last_two_elements = L[-2:]



튜플 연결하기:

concatenated_tuple = (1, 2) + (3, 4)



목록에 엘리먼트 추가하기:

L.append('new_element')



목록에서 엘리먼트 제거하기:

del L[1]



문자열을 목록으로 분할하기:

string = "Hello, World"
split_string = string.split(', ')



파이썬의 리스트와 튜플에 대해 더 깊이 이해하려면 실습을 통해 연습하는 것을 잊지 마세요.

 

 

Dictionaries

Dictionaries

딕셔너리는 키-값 쌍을 저장하는 파이썬의 컬렉션 유형입니다. 중괄호를 사용하며, 키가 첫 번째 요소이고 그 뒤에 콜론으로 구분된 값이 들어갑니다. 키는 변경 불가능하고 고유해야 하며 값은 변경 불가능, 변경 가능 및 중복될 수 있습니다. 키-값 쌍은 쉼표로 구분합니다.

딕셔너리의 예입니다:

album_dict = {
"Back in Black": 1980,
"The Dark Side of the Moon": 1973,
"The Bodyguard": 1992,
"Thriller": 1982 }

 

사전의 값에 액세스하려면 대괄호 안에 키를 인수로 사용합니다:

album_release_year = album_dict["Back in Black"]

 

사전에 새 항목을 추가하려면 새 키에 값을 할당합니다:

album_dict["졸업"] = 2007

 

사전에서 항목을 삭제하려면 해당 키와 함께 del 명령을 사용합니다:

del album_dict["스릴러"]

 

사전에 키가 있는지 확인하려면 "in" 명령을 사용합니다:

key_check = "백 인 블랙" in album_dict

 

딕셔너리에 있는 모든 키를 가져오려면 모든 키를 포함하는 목록형 객체를 반환하는 keys() 메서드를 사용합니다:

all_keys = album_dict.keys()


마찬가지로, 딕셔너리에 있는 모든 값을 가져오려면 values() 메서드를 사용합니다:

all_values = album_dict.values()

 

 


Sets

Sets

집합은 파이썬에서 컬렉션의 한 유형으로 리스트 및 튜플과 유사하지만 몇 가지 차이점이 있습니다. 집합은 순서가 지정되지 않아 요소의 위치가 고정되어 있지 않으며, 고유한 요소만 포함할 수 있으므로 중복이 허용되지 않습니다.

집합을 만들려면 중괄호를 사용하여 요소를 안에 넣습니다:
my_set = {1, 2, 3, 4}

또한 set() 함수를 사용하여 목록을 집합으로 변환할 수 있으며, 이 과정에서 중복을 제거합니다:
my_list = [1, 2, 2, 3, 4]
my_set = set(my_list)

집합 연산:

add() 메서드를 사용하여 세트에 항목을 추가합니다:
my_set.add(5)

remove() 메서드를 사용하여 세트에서 항목을 제거합니다:
my_set.remove(1)

"in" 명령을 사용하여 세트에 요소가 있는지 확인합니다:
element_check = 3 in my_set

앰퍼샌드(&) 연산자를 사용하여 두 집합의 교집합(공통 요소)을 계산합니다:
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
교차 = set1 & set2

파이프(|) 연산자를 사용하여 두 집합의 유니온(모든 요소)을 결합합니다:
union = set1 | set2

issubset() 메서드를 사용하여 집합이 다른 집합의 하위 집합인지 확인합니다:
set3 = {1, 2}
subset_check = set3.issubset(set1)

실습을 통해 다양한 연산을 시도해 보면서 Python에서 더 많은 집합 연산과 예제를 살펴보세요.

 


Conditions and Branching

Conditions and Branching

이 동영상에서는 파이썬 프로그래밍의 조건, 분기, 논리 연산자에 대해 설명합니다.

조건:
같음(==), 보다 큼(>), 보다 작음(<), 보다 크거나 같음(>=), 보다 작거나 같음(<=), 부등식(!=) 등의 비교 연산자는 값이나 피연산자를 비교하고 부울 결과(참 또는 거짓)를 생성하는 데 사용됩니다. 이러한 연산자는 숫자(정수 및 부동 소수점) 및 문자열과 함께 사용할 수 있습니다.

분기:

If 문: 지정된 조건이 참인 경우에만 코드 블록을 실행하는 데 사용됩니다. 예를 들어

age = 17
if age >= 18:
    print("You can enter the concert")
print("Move on")

이 예제에서 if 블록 내부의 인쇄 문은 연령이 18세 이상인 경우에만 실행됩니다.

If-else 문: 지정된 조건이 거짓인 경우 다른 코드 블록을 실행할 수 있습니다. 예를 들면 다음과 같습니다:

 

논리 연산자:

NOT 연산자: 부울 값을 반전시킵니다. 입력이 True이면 결과는 False가 되고, 그 반대도 마찬가지입니다.

OR 연산자: 입력된 부울 값 중 하나 이상이 참이면 참을 반환하고, 둘 다 거짓이면 거짓을 반환합니다.

AND 연산자: 두 입력 부울 값이 모두 True인 경우에만 True를 반환하고, 그렇지 않으면 False를 반환합니다.

예시:

album_year = 1990

if album_year < 1980 or album_year > 1989:
    print("This album was made in the 70s or 90s")

if album_year > 1980 and album_year < 1989:
    print("This album was made in the 80s")

이 예에서 OR 연산자는 앨범_연도가 80년대를 벗어나는지 확인하고, AND 연산자는 앨범_연도가 80년대 내에 있는지 확인합니다.


Loops

Loops

이 동영상에서는 파이썬의 두 가지 루프 유형, 즉 for 루프와 while 루프에 대해 다룹니다. 범위 함수도 소개합니다.

범위 함수는 시퀀스를 생성합니다. 단일 입력을 사용하면 0부터 입력 값까지(입력 값은 포함하지 않음) 시퀀스를 생성합니다. 입력이 두 개인 경우 첫 번째 입력에서 두 번째 입력까지(두 번째 입력은 포함하지 않음) 시퀀스를 생성합니다. 범위 함수는 루프에 사용됩니다.

루프는 설정된 횟수 동안 반복적으로 작업을 수행하는 데 사용됩니다. 목록이나 튜플을 직접 반복하거나 범위 함수를 사용할 수 있습니다. 열거 함수는 목록의 인덱스와 요소에 모두 액세스하면서 목록을 반복하는 데 유용합니다.

루프는 반복문과 유사하지만 지정된 조건이 충족되는 동안 실행됩니다. 조건이 더 이상 참이 아닌 경우 루프가 중지됩니다.

예시

범위 함수가 있는 루프의 경우:

colors = ['red', 'yellow', 'blue', 'green', 'purple']

for i in range(len(colors)):
    print(colors[i])

 

열거 함수가 있는 루프의 경우:

colors = ['red', 'yellow', 'blue', 'green', 'purple']

for index, color in enumerate(colors):
    print(index, color)

While 루프:

squares = ['orange', 'orange', 'purple', 'orange', 'orange']
new_squares = []
i = 0

while i < len(squares) and squares[i] == 'orange':
    new_squares.append(squares[i])
    i += 1

print(new_squares)

이 예제에서 while 루프는 '주황색'이 아닌 정사각형을 만날 때까지 모든 '주황색' 정사각형을 new_squares 목록에 추가하고, 이 시점에서 루프가 중지됩니다.

age = 17
if age >= 18:
    print("You can enter the AC/DC concert")
else:
    print("You can attend the Meat Loaf concert")

 

Elif(else if) 문: 이전 조건이 거짓인 경우 추가 조건을 확인하는 데 사용됩니다. 예를 들면 다음과 같습니다:

age = 18
if age > 19:
    print("You can enter the AC/DC concert")
elif age == 18:
    print("You can attend the Pink Floyd concert")
else:
    print("You can attend the Meat Loaf concert")

 

Functions

Functions

이 동영상에서는 일부 입력을 받아 출력 또는 변경을 생성하는 재사용 가능한 코드 조각인 Python의 함수에 대해 알아봅니다. 함수는 기본 제공, 사용자 정의 또는 다른 소스에서 가져올 수 있습니다.

Python에는 len(), sum(), sorted()와 같은 많은 기본 제공 함수가 있습니다. 

함수는 입력을 받아 출력을 반환할 수 있는 반면, 
sort()와 같은 메서드는 새 객체를 반환하지 않고 호출된 객체를 수정합니다.

사용자 정의 함수를 만들려면 def 키워드 다음에 함수 이름, 매개변수, 콜론을 사용합니다. 그런 다음 함수에 대한 코드 블록을 작성하되 들여쓰기를 해야 합니다. 함수는 여러 개의 매개변수를 가질 수 있으며 루프, 조건문 및 기타 Python 구문을 사용할 수 있습니다.

가변 매개변수를 사용하면 함수가 다양한 수의 인수를 받아 튜플에 패킹할 수 있습니다. 매개변수 이름에 별표(*)를 사용하여 가변 매개변수를 나타낼 수 있습니다.

변수의 범위는 변수에 액세스할 수 있는 위치를 나타냅니다. 함수 외부에 정의된 변수는 전역 범위를 가지며 정의 후 어디서나 액세스할 수 있습니다. 함수 내에 정의된 변수는 로컬 범위를 가지며, 이는 해당 함수 내에서만 액세스할 수 있음을 의미합니다. 함수 내에서 전역 변수를 사용하려면 전역 키워드를 사용합니다.

요약하자면, 파이썬의 함수는 코드를 정리하고 재사용하는 데 필수적입니다. 함수는 입력을 받고, 출력을 반환하며, 다양한 작업을 수행할 수 있습니다. 함수를 만들고 사용하는 방법과 범위를 이해하면 보다 효율적이고 모듈화된 코드를 작성하는 데 도움이 됩니다.

 

Exception Handling

Exception Handling

이 동영상에서는 프로그램이 오류를 처리하고 갑자기 종료되지 않고 계속 실행될 수 있도록 하는 메커니즘인 프로그래밍의 예외 처리에 대해 배웠습니다. 예외 처리에는 try 블록 내부의 코드가 먼저 실행되는 try-except 문을 사용하는 것이 대표적입니다.

error 오류가 발생하면 프로그램은 발생한 오류 유형과 일치하는 적절한 예외 블록 except block 으로 점프합니다.

대규모 프로그램에서 불필요한 디버깅 작업을 방지하려면 예외를 생성할 때 특정 오류 유형을 정의하는 것이 필수적입니다. 오류 유형을 지정하지 않은 포괄 예외는 오류를 정확히 찾아서 수정하기 어렵게 만들 수 있으므로 모범 사례로 간주되지 않습니다.

else 문을 추가하면 프로그램이 올바르게 실행될 때 알림을 제공하고, finally 문을 사용하면 결과에 관계없이 특정 작업(예: 파일 닫기)이 수행되도록 할 수 있습니다.

try:
    file = open("example.txt", "r")
    data = file.read()
except IOError:
    print("Unable to open or read the data in the file.")
except:
    print("An unspecified error occurred.")
else:
    print("The file was read successfully.")
finally:
    file.close()
    print("File is now closed.")

이 예제에서는 프로그램이 "example.txt"라는 파일의 내용을 열고 읽으려고 시도합니다. 파일이 존재하지 않는 등 IOError가 발생하면 오류 메시지를 인쇄합니다. 다른 지정되지 않은 오류가 발생하면 다른 오류 메시지를 인쇄합니다. 파일을 성공적으로 읽으면 성공 메시지를 인쇄합니다. 결과에 관계없이 마지막 블록은 파일이 닫혔는지 확인하고 파일이 닫혔음을 알리는 메시지를 인쇄합니다.

 
 
 

Objects and Classes

이 모듈에서는 파이썬의 객체와 클래스에 중점을 둡니다. 

파이썬에는 정수, 실수, 문자열, 리스트, 딕셔너리, 부울과 같은 다양한 데이터 유형이 있습니다. 이러한 각 데이터 유형은 Each of these data types   내부 표현 internal representation 및 데이터와 상호 작용하는 메서드methods to interact with the data로 구성된 객체입니다. 객체는 특정 유형의 인스턴스이며, 한 유형의 인스턴스를 여러 개 가질 수 있습니다.

 

객체의 유형을 찾으려면 type() 함수를 사용합니다. 클래스나 타입의 메서드는 해당 클래스나 타입의 모든 인스턴스가 상호 작용을 위해 제공하는 함수입니다.

파이썬에서 자신만의 클래스를 만들려면 데이터 속성과 메서드로 data attributes and methods.  클래스를 정의해야 합니다. 이 모듈에서는 두 개의 클래스가 예제로 생성됩니다: Circle과 Rectangle입니다. Circle의 데이터 속성은 반지름과 색상이며, Rectangle의 데이터 속성은 색상, 높이, 너비입니다.

Python에서 클래스를 만들려면 클래스 키워드 다음에 클래스 이름, 괄호 안에 부모 클래스(이 경우 객체)를 입력합니다. 생성자(__init__)를 사용하여 데이터 속성을 사용하여 클래스의 각 인스턴스를 초기화합니다. self 매개 변수는 새로 생성된 클래스 인스턴스를 참조합니다.

예를 들어 Circle 클래스는 다음과 같이 생성할 수 있습니다:

class Circle(object):
    def __init__(self, radius, color):
        self.radius = radius
        self.color = color

    def add_radius(self, r):
        self.radius += r

 

클래스의 인스턴스를 생성하려면 클래스 이름과 필수 속성을 인수로 사용합니다:

red_circle = Circle(4, "red")

 

dot notation: 을 사용하여 객체의 속성에 액세스하거나 수정할 수 있습니다:

print(red_circle.radius)  # Output: 4
red_circle.radius = 6
print(red_circle.radius)  # Output: 6

메서드는 객체의 데이터 속성과 상호 작용하는 함수입니다. 
Circle 예제에서 add_radius 메서드는 원의 반지름을 변경하는 데 사용됩니다:

red_circle.add_radius(2)
print(red_circle.radius)  # Output: 8

dir() 함수를 사용하여 클래스와 연관된 데이터 속성 및 메서드 목록을 가져올 수 있습니다.

요약하면,
모듈은 파이썬에서 사용자 정의 클래스를 생성하고,
데이터 어트리뷰트와 메서드를 정의하고,
해당 클래스의 인스턴스를 생성하고,
어트리뷰트 및 메서드와 상호 작용하는 방법을 보여 줍니다.

간단히 말해서, 모듈은 파이썬에서 자신만의 사용자 정의 데이터 유형(클래스)을 만드는 방법을 알려줍니다. 클래스는 생성된 객체의 구조와 동작을 정의하는 청사진과 같습니다. 객체가 포함해야 하는 데이터(데이터 속성)와 객체가 수행할 수 있는 작업(메서드)을 정의할 수 있습니다. 사용자 정의 클래스를 만드는 단계는 다음과 같습니다:

Defining a class using the "class" keyword,
 followed by the class name 
and the parent class in parentheses (usually object).

생성자 메서드(__init__) 내에서 클래스의 데이터 속성을 초기로 설정하여 클래스의 데이터 속성을 정의합니다.

클래스의 객체가 수행할 수 있는 메서드를 정의합니다.

  1. 클래스를 정의한 후에는 클래스의 인스턴스(객체)를 생성할 수 있습니다. 이때 필요한 속성들을 인수로 제공해야 합니다.
  2. 생성된 객체는 '점 표기법(dot notation)'을 사용하여 해당 객체의 데이터 속성과 메서드에 접근하고 상호작용할 수 있습니다.
class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def bark(self):
        print("Woof!")

# 클래스 인스턴스(객체) 생성
my_dog = Dog("Max", 3)

# 데이터 속성 접근
print(my_dog.name)  # 출력: Max
print(my_dog.age)   # 출력: 3

# 메서드 사용
my_dog.bark()       # 출력: Woof!

(위의 예시에서 Dog 클래스를 정의하고, 해당 클래스의 인스턴스(객체) my_dog를 생성합니다. my_dog 객체의 데이터 속성에 접근하고, 메서드를 사용하기 위해 점 표기법(dot notation)을 사용하였습니다.)

이 모듈에서는 이러한 개념을 설명하기 위해 Circle 및 Rectangle 클래스를 예제로 사용하여 이러한 사용자 지정 클래스의 객체를 생성, 수정 및 상호 작용하는 방법을 보여줍니다.


Reading Files with Open

Reading Files with Open

이 섹션에서는 Python의 내장 함수인 open을 사용하여 파일 객체를 생성하고 "txt" 파일의 데이터를 읽어옵니다. 요약하면 다음과 같습니다.

  • 파일 객체 생성: Python의 open 함수를 사용하여 파일 객체를 얻습니다. 첫 번째 인자는 파일 경로(파일명과 디렉토리 포함)이고, 두 번째 인자는 모드입니다. 일반적으로 사용되는 모드는 'r'(읽기), 'w'(쓰기), 'a'(추가)입니다. 여기서는 'r'(읽기) 모드를 사용합니다.
file_object = open("Example1.txt", "r")
  • 파일에서 데이터 읽기: 파일 객체에 메서드를 적용하여 파일의 데이터를 읽어옵니다. read, readline, readlines와 같은 메서드를 사용할 수 있습니다.
file_content = file_object.read()
  • 파일 객체 닫기: 작업이 끝난 후에는 close 메서드를 사용하여 파일 객체를 닫아야 합니다.
file_object.close()
  • with" 문 사용: "with" 문을 사용하여 파일을 열면, 코드 실행이 끝난 후 자동으로 파일이 닫힙니다. 이 방법은 더 안전한 파일 관리 방식입니다.
with open("Example1.txt", "r") as file_object:
    file_content = file_object.read()
    print(file_content)

위의 예시에서는 다음과 같은 작업을 수행합니다.

  • open 함수를 사용하여 "Example1.txt" 파일을 읽기 모드로 열고, 파일 객체를 생성합니다.
  • read 메서드를 사용하여 파일의 내용을 문자열로 읽어와 변수 file_content에 저장합니다.
  • 파일 내용을 출력합니다. "with" 문 덕분에 파일 객체를 명시적으로 닫지 않아도 됩니다. 코드가 실행되고 난 후 자동으로 파일이 닫힙니다.

이 외에도 readline 메서드를 사용하여 한 번에 한 줄씩 읽어올 수 있으며, readlines 메서드를 사용하여 파일의 모든 줄을 리스트로 반환할 수 있습니다. 또한, 반복문을 사용하여 파일의 각 줄을 개별적으로 출력할 수도 있습니다.

 

 

 

Writing Files with Open

이 섹션에서는 open 함수를 사용하여 파일에 쓰는 방법을 다룹니다. 요약하면 다음과 같습니다.

  1. 파일 객체 생성: open 함수를 사용하여 파일 객체를 생성합니다. 첫 번째 인자는 파일 경로이고, 두 번째 인자는 모드입니다. 쓰기 모드는 'w'를 사용합니다.
  2. 파일에 데이터 쓰기: 파일 객체에 write 메서드를 적용하여 파일에 데이터를 작성합니다.
  3. "with" 문 사용: "with" 문을 사용하여 파일을 작성하면 코드 실행이 끝난 후 파일이 자동으로 닫힙니다.
  4. 리스트의 내용을 파일에 작성하기: 리스트의 각 요소를 파일에 작성할 수도 있습니다.
  5. 기존 파일에 내용 추가하기: 모드를 'a'로 설정하여 기존 파일에 내용을 추가할 수 있습니다.
  6. 파일 복사하기: 한 파일의 내용을 다른 파일에 복사할 수도 있습니다.
# 1

file_object = open("Example2.txt", "w")

# 2

file_object.write("This is line A\n")


# 3

with open("Example2.txt", "w") as file_object:
    file_object.write("This is line A\n")
    file_object.write("This is line B\n")



# 4

lines = ["Line 1\n", "Line 2\n", "Line 3\n"]

with open("Example2.txt", "w") as file_object:
    for line in lines:
        file_object.write(line)


# 5 

with open("Example2.txt", "a") as file_object:
    file_object.write("This is line C\n")


# 6 

with open("Example1.txt", "r") as read_file, open("Example3.txt", "w") as write_file:
    for line in read_file:
        write_file.write(line)

위의 예시에서는 다음과 같은 작업을 수행합니다.

  • "Example1.txt" 파일을 읽기 모드로 열고, 읽기용 파일 객체를 생성합니다.
  • 새로운 "Example3.txt" 파일을 쓰기 모드로 열고, 쓰기용 파일 객체를 생성합니다.
  • 반복문을 사용하여 읽기용 파일 객체에서 한 줄씩 읽어, 쓰기용 파일 객체를 사용하여 "Example3.txt" 파일에 씁니다.
  • 파일 복사가 완료되면 두 파일 객체가 자동으로 닫힙니다.

Loading Data with Pandas

이 비디오에서는 데이터 분석을 위한 인기 라이브러리인 Pandas를 소개합니다. 요약하면 다음과 같습니다.

  1. Pandas 라이브러리 임포트하기: Pandas를 임포트하려면 import pandas 명령을 사용합니다. 줄여서 사용할 수 있도록 import pandas as pd와 같이 사용하기도 합니다.
  2. CSV 파일 읽기: Pandas의 read_csv 함수를 사용하여 CSV 파일을 읽고 데이터 프레임으로 변환할 수 있습니다.
  3. 데이터 프레임 살펴보기: 데이터 프레임의 처음 5행을 확인하려면 head() 메서드를 사용합니다.
  4. Excel 파일 읽기: Pandas의 read_excel 함수를 사용하여 Excel 파일을 읽고 데이터 프레임으로 변환할 수 있습니다.
  5. 사전에서 데이터 프레임 생성하기: 사전의 키와 값들로 데이터 프레임을 생성할 수 있습니다.
  6. 데이터 프레임에서 열 선택하기: 데이터 프레임에서 하나 또는 여러 열을 선택하여 새로운 데이터 프레임을 만들 수 있습니다.
# 1

import pandas as pd

# 2 

csv_file_path = "file.csv"
df = pd.read_csv(csv_file_path)

# 3

print(df.head())

# 4

excel_file_path = "file.xlsx"
df = pd.read_excel(excel_file_path)

# 5

data = {'Column1': [1, 2, 3], 'Column2': ['A', 'B', 'C']}
df = pd.DataFrame(data)


# 6
new_df = df[['Column1']]
new_df = df[['Column1', 'Column2']]

 

이러한 기능을 사용하여 Pandas 라이브러리를 통해 데이터를 읽고, 조작하고, 분석할 수 있습니다.


Pandas: Working with and Saving Data

데이터 프레임을 사용하여 데이터를 처리하고 결과를 다른 형식으로 저장하는 방법을 다룹니다. 요약하면 다음과 같습니다.

  1. 고유한 열 요소 찾기: Pandas의 unique 메서드를 사용하여 데이터 프레임의 열에서 고유한 요소를 찾을 수 있습니다.
  2. 조건에 따라 행 선택하기: 데이터 프레임에서 특정 조건에 해당하는 행을 선택할 수 있습니다. 예를 들어, 1980년 이후에 발매된 앨범만 선택하려면 다음과 같이 코드를 작성할 수 있습니다.
  3. 데이터 프레임을 CSV 파일로 저장하기: Pandas의 to_csv 메서드를 사용하여 데이터 프레임을 CSV 파일로 저장할 수 있습니다. 인수로 저장할 CSV 파일의 이름을 전달하면 됩니다.
1
unique_years = df['Released'].unique()

2
condition = df['Released'] > 1979
df1 = df[condition]

3 
df1.to_csv('new_data.csv', index=False)

Pandas를 사용하여 고유한 요소를 찾거나 조건에 따라 행을 선택하여 새로운 데이터 프레임을 만들고, 이를 다른 형식의 파일로 저장할 수 있습니다. 이를 통해 데이터를 처리하고 분석하는 데 유용한 도구가 될 수 있습니다.

One Dimensional Numpy

 

 

반응형

댓글