일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 합성곱 신경망
- lambda
- 넘파이 기초
- 코딩테스트실력진단
- 기계학습
- 코테
- 넘파이
- 넘파이 배열
- Machine Learning
- 데이터 마이닝
- 머신러닝
- OOP
- NumPy
- ack
- 데이터 분석
- 파이썬
- 디자인 패턴
- c++
- 코딩테스트
- 클러스터링
- 코드트리
- python
- 자바
- 차원축소
- numpy 기초
- 네트워크 기초
- cpp
- cpp class
- Design Pattern
- java
- Today
- Total
준비하는 대학생
[Pandas] Series와 DataFrame 본문
Pandas Series
Series는 1차원 데이터 배열을 나타내는 객체입니다. Series는 인덱스(index)와 값(value)으로 구성되어 있으며, 각 값은 인덱스에 해당하는 레이블(label)로 접근할 수 있습니다.
Series 생성하기
Series 객체는 다양한 방법으로 생성할 수 있습니다. 예를 들어, pd.Series() 함수를 사용하여 리스트(list), 튜플(tuple), 딕셔너리(dictionary), Numpy 배열 등에서 Series 객체를 생성할 수 있습니다.
import pandas as pd
import numpy as np
# 리스트에서 Series 생성하기
data_list = [1, 2, 3, 4, 5]
s1 = pd.Series(data_list)
# 튜플에서 Series 생성하기
data_tuple = (1, 2, 3, 4, 5)
s2 = pd.Series(data_tuple)
# 딕셔너리에서 Series 생성하기
data_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
s3 = pd.Series(data_dict)
# Numpy 배열에서 Series 생성하기
data_array = np.array([1, 2, 3, 4, 5])
s4 = pd.Series(data_array)
print(s1)
print(s2)
print(s3)
print(s4)
위 코드에서는 pd.Series() 함수를 사용하여 리스트, 튜플, 딕셔너리, Numpy 배열에서 각각 Series 객체를 생성하고, 생성된 Series 객체를 출력합니다. 출력 결과는 아래와 같습니다.
0 1
1 2
2 3
3 4
4 5
dtype: int64
0 1
1 2
2 3
3 4
4 5
dtype: int64
a 1
b 2
c 3
d 4
e 5
dtype: int64
0 1
1 2
2 3
3 4
4 5
dtype: int64
Series 인덱싱
Series 객체는 각 값에 대한 인덱스(index)를 가지고 있으며, 이를 이용하여 Series 객체의 각 값에 접근할 수 있습니다. Series 객체의 인덱스는 0부터 시작하는 정수값 뿐만 아니라 문자열 등 다양한 데이터 타입으로도 지정할 수 있습니다.
# Series 객체 인덱싱
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
print(s[0]) # 1
print(s['a']) # 1
print(s[['a', 'c', 'e']]) # a 1\n c 3\n e 5\ndtype: int64
위 코드에서는 pd.DataFrame() 함수를 사용하여 딕셔너리에서 DataFrame 객체를 생성하고, 생성된 DataFrame 객체를 출력합니다. [] 연산자를 사용하여 각 열(column)을 인덱싱할 수 있으며, iloc 메소드와 loc 메소드를 사용하여 각각 행(row)을 정수인덱스와 레이블(label)로 인덱싱할 수 있습니다. loc 메소드를 사용할 때는 행(row) 인덱스 대신 레이블(label)을 사용합니다. loc 메소드를 사용할 때는 레이블(label)로 행(row) 인덱싱을 하며, 열(column) 이름도 레이블(label)로 지정할 수 있습니다.
위 코드의 출력 결과는 아래와 같습니다.
1
1
a 1
c 3
e 5
dtype: int64
DataFrame 연산
DataFrame 객체는 다양한 연산을 지원합니다. 예를 들어, mean() 메소드를 사용하여 각 열의 평균값을 계산할 수 있습니다.
# DataFrame 객체 연산
df = pd.DataFrame({'Name': ['John', 'Kim', 'Emma', 'Andrew'],
'Age': [28, 25, 27, 31],
'Country': ['USA', 'Korea', 'UK', 'Australia']})
print(df.mean()) # 각 열의 평균값 계산
위 코드에서는 pd.DataFrame() 함수를 사용하여 딕셔너리에서 DataFrame 객체를 생성하고, 생성된 DataFrame 객체의 mean() 메소드를 사용하여 각 열의 평균값을 계산합니다.
Age 27.75
dtype: float64
DataFrame 파일 입출력
DataFrame 객체는 CSV, Excel, JSON 등 다양한 형식으로 파일로 저장하거나 파일에서 불러올 수 있습니다. 예를 들어, to_csv() 메소드를 사용하여 DataFrame 객체를 CSV 파일로 저장할 수 있습니다.]
# DataFrame 객체 파일 입출력
df = pd.DataFrame({'Name': ['John', 'Kim', 'Emma', 'Andrew'],
'Age': [28, 25, 27, 31],
'Country': ['USA', 'Korea', 'UK', 'Australia']})
df.to_csv('example.csv', index=False)
위 코드에서는 pd.DataFrame() 함수를 사용하여 딕셔너리에서 DataFrame 객체를 생성하고, 생성된 DataFrame 객체의 to_csv() 메소드를 사용하여 example.csv라는 파일로 저장합니다. index=False 파라미터를 추가하여 인덱스를 저장하지 않도록 설정합니다.
DataFrame 객체를 파일에서 불러오는 방법도 다양합니다. 예를 들어, read_csv() 함수를 사용하여 CSV 파일로부터 DataFrame 객체를 불러올 수 있습니다.
# CSV 파일에서 DataFrame 불러오기
df = pd.read_csv('example.csv')
print(df)
코드에서는 read_csv() 함수를 사용하여 example.csv 파일에서 DataFrame 객체를 불러오고, 불러온 DataFrame 객체를 출력합니다. 이 때, 인덱스는 자동으로 생성됩니다.
또한, Excel 파일에서도 DataFrame 객체를 불러올 수 있습니다. 예를 들어, read_excel() 함수를 사용하여 Excel 파일로부터 DataFrame 객체를 불러올 수 있습니다.
# Excel 파일에서 DataFrame 불러오기
df = pd.read_excel('example.xlsx')
print(df)
위 코드에서는 read_excel() 함수를 사용하여 example.xlsx 파일에서 DataFrame 객체를 불러오고, 불러온 DataFrame 객체를 출력합니다. 이 때, 인덱스는 자동으로 생성됩니다.
DataFrame 파일 입출력 옵션
read_csv() 함수와 read_excel() 함수는 다양한 옵션을 제공하여 불러오는 데이터를 조정할 수 있습니다. 예를 들어, read_csv() 함수는 sep 파라미터를 사용하여 필드 구분자(delimiter)를 지정할 수 있으며, header 파라미터를 사용하여 열(column) 이름을 지정할 수 있습니다.
# CSV 파일에서 DataFrame 불러오기 (구분자 지정)
df = pd.read_csv('example.csv', sep=';')
print(df)
위 코드에서는 read_csv() 함수의 sep 파라미터를 사용하여 구분자를 ;로 지정하여 example.csv 파일에서 DataFrame 객체를 불러오고, 불러온 DataFrame 객체를 출력합니다.
read_excel() 함수는 sheet_name 파라미터를 사용하여 시트 이름을 지정할 수 있습니다.
# Excel 파일에서 DataFrame 불러오기 (시트 이름 지정)
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')
print(df)
위 코드에서는 read_excel() 함수의 sheet_name 파라미터를 사용하여 시트 이름을 Sheet1로 지정하여 example.xlsx 파일에서 DataFrame 객체를 불러오고, 불러온 DataFrame 객체를 출력합니다.
결론
Pandas의 Series와 DataFrame은 각각 1차원과 2차원 데이터 배열을 나타내는 객체입니다. Series는 각 값에 대한 인덱스(index)를 가지고 있으며, DataFrame은 행(row)과 열(column)로 구성되어 있습니다. Series와 DataFrame은 다양한 방법으로 생성하고, 인덱싱, 연산, 파일 입출력 등 다양한 기능을 제공합니다. Pandas는 데이터 처리와 분석에 매우 유용한 라이브러리 중 하나입니다.
Pandas의 DataFrame은 파일 입출력 기능도 제공합니다. DataFrame 객체를 파일로 저장하는 방법은 to_csv() 메소드 등을 사용하며, 파일에서 DataFrame 객체를 불러오는 방법은 read_csv() 함수, read_excel() 함수 등을 사용합니다. 이 때, 다양한 옵션을 사용하여 불러오는 데이터를 조정할 수 있습니다. 이러한 기능들은 데이터 처리와 분석을 위해 필수적입니다. Pandas를 사용하여 데이터를 파일로 저장하거나 파일에서 불러오는 방법을 익히면, 더욱 다양하고 복잡한 데이터를 처리하는 데 유용하게 사용할 수 있습니다.
'Programming > Python' 카테고리의 다른 글
[Python] 클로저(Closure) (0) | 2023.04.10 |
---|---|
[Python] enumerate함수 (0) | 2023.03.30 |
[Pandas] Dataframe - Data 선택 및 필터링 (0) | 2023.03.21 |
[python] matplotlib - hist, box plot (0) | 2023.03.20 |