Pandas의 DataFrame과 Series 객체를 정렬하는 방법에는 주로 두 가지가 있습니다. 값에 따른 정렬방법과 인덱스에 따라 정렬하는 방법입니다. 이들은 각각 sort_values() 메서드와 sort_index() 메서드를 사용하여 수행됩니다. 먼저 DataFrame을 생성하고 이에 대해 설명하도록 하겠습니다. import pandas as pd # 예시 DataFrame 생성 data = {'Name': ['John', 'Anna', 'Peter', 'Linda'], 'Age': [28, 24, 35, 32], 'City': ['New York', 'Paris', 'Berlin', 'London']} df = pd.DataFrame(data) #출력 # Name Age City #0 John..
Pandas의 DataFrame과 Series는 다양한 조회 및 선택 메소드를 제공합니다. 이 포스트에서는 loc, iloc, 조건을 이용한 선택, 그리고 Column, Row 선택에 대해 자세히 설명하겠습니다. 1. loc, iloc 함수 사용법 판다스(Pandas)의 DataFrame과 Series는 판다스의 주요 객체이며, 여기에는 loc와 iloc이라는 데이터 선택 메소드가 포함되어 있습니다. loc는 레이블 기반의 데이터 선택 메소드입니다. 이는 레이블(열/행 이름)을 통해 값을 선택합니다. iloc는 위치 기반의 데이터 선택 메소드입니다. 이는 위치(정수 인덱스)를 통해 값을 선택합니다. 먼저 loc와 iloc의 사용 방법을 살펴보기 위해 아래 코드를 통해 DataFrame을 만듭니다. imp..
Pandas에서 CSV, Excel, SQL 사용하기 Pandas는 다양한 데이터 형식을 지원하며, 이를 활용하여 데이터를 불러오거나 저장할 수 있습니다. 이 포스트에서는 CSV, Excel, SQL 데이터베이스에서 데이터를 불러오고 저장하는 방법에 대해 자세히 설명하겠습니다. 1. Pandas에서 CSV 파일 사용하기 CSV(Comma Separated Values) 파일은 간단한 텍스트 기반 형식으로 데이터를 저장하는데 사용됩니다. CSV 파일의 각 행은 데이터 레코드를 나타내며, 각 레코드의 필드는 쉼표로 구분됩니다. CSV 파일은 표 형식의 데이터를 표현하는데 주로 사용됩니다. 아래는 5명의 학생들의 이름, 나이, 성별 데이터를 포함하는 CSV 파일의 간단한 예 입니다. name,age,gende..
1. Pandas 소개 Pandas는 Python에서 사용하는 데이터 분석 라이브러리입니다. 이름은 "PANel DAta"의 약자로 금융 경제학 용어에서 유래되었습니다. Pandas는 데이터 조작 및 분석을 위해 설계되었으며, 빠르고 유연한 데이터 구조를 제공하여 대규모 데이터 세트를 효율적으로 처리할 수 있습니다. Pandas는 다음과 같은 주요 특징을 가지고 있습니다. 다양한 데이터 타입 처리 : Pandas는 다양한 타입의 데이터를 처리할 수 있습니다. 예를 들어, 정수, 실수, 문자열, Python 객체 등을 처리할 수 있습니다. 누락된 데이터 처리 : Pandas는 누락된 데이터를 쉽게 처리할 수 있습니다. 예를 들어, 누락된 데이터를 특정 값으로 채우거나 누락된 데이터를 포함하는 행이나 열을 ..
1. 난수 생성 난수 생성은 컴퓨터 프로그래밍에서 자주 사용되는 기능 중 하나입니다. 통계적 분석, 머신러닝, 시뮬레이션, 암호화 등 다양한 분야에서 사용됩니다. NumPy는 효과적인 난수 생성을 위한 몇 가지 함수를 제공합니다. 아래 함수들은 모두 랜덤 값을 생성하는 역할을 합니다. 이 값들은 모두 의사 난수(pseudo random number)입니다. 즉, 수학적 알고리즘을 통해 생성된 랜덤한 값입니다. np.random.rand() : 0과 1 사이에서 균일 분포를 따르는 난수를 생성합니다. 함수에 전달된 인수의 개수에 따라 다차원 배열을 생성하는 데 사용할 수 있습니다. 예를 들어, np.random.rand(5,3)을 호출하면 5x3 크기의 배열이 생성되며, 각 요소는 0과 1 사이의 랜덤한 ..
1. 벡터화 연산 벡터화 연산은 데이터 배열에 대해 반복적인 연산을 빠르고 효율적으로 수행할 수 있는 방법을 말합니다. 이는 NumPy의 핵심 기능 중 하나이며, 특히 대용량 데이터 처리에서 훨씬 더 빠른 결과를 제공합니다. 이는 'for'문이나 다른 반복 구조를 사용하지 않고도 배열의 모든 요소에 대해 연산을 수행하므로, 코드가 간결해지고 실행 시간이 단축됩니다. 아래 코드에서 두 개의 NumPy 배열 'a'와 'b'를 생성하였습니다. 그 다음에는 '+' 연산자를 사용하여 'a'와 'b'를 더하는 벡터화 연산을 수행합니다. 이 경우 '+' 연산자는 배열 'a'와 'b'의 모든 요소 간에 요소별로(add element-wise) 작동합니다. 따라서 이렇게 하면 'c'라는 새로운 배열이 생성되며, 이 배열..
1. 파일 입출력 Numpy는 배열 데이터를 파일에 저장하거나 파일에서 로드하는 데 사용할 수 있는 함수를 제공합니다. Numpy는 데이터 저장을 위한 기본적인 2가지 함수를 제공합니다. 이는 np.save, np.load이며, 이들을 사용하여 Numpy 배열을 저장하고 불러올 수 있습니다. 또한, np.savetxt, np.loadtxt, genfromtxt 의 함수를 사용하여 텍스트 파일을 저장하고 불러올 수도 있습니다. 그러나 CSV 파일을 가져오는 방법의 경우 Pandas 패키지를 사용하는 것이 일반적입니다. 1.1 numpy.save(), numpy.load() numpy.save()는 Numpy 배열 객체를 .npy 파일로 저장합니다. 파일이 이미 존재하는 경우에는 덮어씁니다.아래 코드에서는 ..
1. Numpy 집계 함수 Numpy는 데이터 분석을 위해 다양한 집계 함수(Aggregate functions)를 제공합니다. 이러한 함수를 사용하면 배열의 요소에 대해 특정 계산을 수행할 수 있습니다. 대표적인 집계 함수들은 다음과 같습니다. np.sum(): 배열의 모든 요소의 합을 계산합니다. np.min(), np.max(): 배열의 최소값 또는 최대값을 찾습니다. np.mean(): 배열의 평균 값을 계산합니다. np.median(): 배열의 중간값(median)을 찾습니다. np.std(): 배열의 표준 편차를 계산합니다. np.var(): 배열의 분산을 계산합니다. 1.1 np.sum() 이 함수는 배열의 모든 요소의 합계를 계산합니다. 데이터의 전체적인 누적치를 알고 싶을 때 유용합니다...
1. 기본적인 수학 연산 Numpy는 배열에 대한 기본적인 수학 연산을 지원합니다. 이 연산은 배열의 각 요소에 개별적으로 적용되며, 새 배열을 생성하여 결과를 반환합니다. 1.1 Addition (덧셈) Numpy 배열에서 덧셈은 '+' 연산자 또는 'np.add() 함수를 사용하여 수행할 수 있습니다. 두 가지 방법 모두 배열 a와 b의 각 요소를 더한 결과인 [5, 7, 9]를 출력합니다. import numpy as np a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) # Using '+' print(a + b) # Using np.add() print(np.add(a, b)) # 출력: [5 7 9] 1.2 Subtraction (뺄셈) Numpy에서 뺄셈은..
1. Numpy 인덱싱 Numpy 배열 인덱싱(indexing)은 리스트 인덱싱과 매우 유사하게 작동합니다. 인덱싱(Indexing)은 특정 위치의 데이터에 접근하는 것을 의미합니다. 인덱싱을 이용해 특정 위치에 있는 값을 가져오거나 설정할 수 있습니다. 아래 코드는 numpy 배열에 대한 기본적인 인덱싱 방법을 설명하는 코드입니다. 1에서 5까지의 정수 원소를 포함한 1차원 넘파이 배열 arr을 생성합니다. 그리고 인덱싱을 통해 첫 번째 원소와 마지막 원소에 접근하고, 접근한 원소를 출력합니다. 배열의 인덱스는 0부터 시작하며, -1은 배열의 마지막 원소를 가리킵니다. 배열의 원소에 접근하여 읽는것 뿐만 아니라 원소를 직접 변경할 수도 있습니다. 첫 번째 원소의 값을 10으로 변경합니다. 그리고 변경한..