(1) 판다스(Pandas)란? - Creating, Reading and Writing [Hellfer]
https://www.kaggle.com/code/residentmario/creating-reading-and-writing
Creating, Reading and Writing
Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources
www.kaggle.com
위의 글을 보고 참고하여 작성하였습니다.
판다스(Pandas)는 파이썬에서 데이터 분석과 조작을 위한 유용한 라이브러리입니다.
특히 테이블 형식의 데이터를 다루는 데 최적화되어 있으며, 대규모 데이터 세트를 효율적으로 처리할 수 있는 다양한 기능을 제공합니다.
판다스(Pandas)를 사용하기 위해서 해당 모듈을 삽입합니다.
import pandas as pd
판다스(Pandas)에는 DataFrame과 Series라는 두 가지 데이터구조가 있습니다.
- Series : 1차원 배열로, 인덱스를 가지는 구조입니다.
파이썬의 리스트와 유사하지만 더 많은 기능을 제공합니다.
- DataFrame : 2차원 테이블 데이터 구조로, 행과 열로 구성됩니다.
각 항목은 행과 열에 해당합니다.
다음은 간단한 DataFrame을 예시로 들어보겠습니다.
pd.DataFrame({'Yes': [50, 21], 'no': [131,2]})
"0, No"의 항목 값은 131이며 "0, Yes"의 항목 값은 50으로 알 수 있습니다.
DataFrame은 값이 정수로 제한되지 않고 문자열도 사용가능합니다.
pd.DataFrame({'Bob': ['I liked it.', 'It was awful.'], 'Sue': ['Pretty good.', 'Bland.']})
이러한 DataFrame객체를 형성하기 위해 pd.DataFrame()을 사용하고 있습니다.
새 항목을 선언하는 구문은 키가 열 이름('Bob', 'Sue')이고 값이 항목 목록인 사전입니다.
사전 목록 생성은 열 레이블('Bob', 'Sue')에는 값을 할당하지만 행 레이블('0', '1')에는 0(0,1,2,3)부터 오름차순으로 할당됩니다.
pd.DataFrame() 함수를 사용할 때 인덱스를 직접 지정할 수 있으며, 원하는 라벨을 행 레이블(인덱스)로 사용할 수 있습니다.
# 0부터 시작하는 오름차순 대신 index를 사용하여 각각 이름을 할당
pd.DataFrame({'Bob': ['I liked it.', 'It was awful.'],
'Sue': ['Pretty good.', 'Bland.']},
index=['Product A', 'Product B'])
Series는 일련의 데이터 값을 저장하는 1차원 배열과 유사합니다.
리스트, 배열, 사전 등의 다양한 형태의 데이터를 사용하여 생성할 수 있습니다.
pd.Series([1, 2, 3, 4, 5])
DataFrame과 유사하게 index를 사용하여 행 레이블을 지정할 수 있지만 열 이름이 없고, 전체 Series에 대해 하나의 이름만 지정할 수 있습니다.
pd.Series([30, 35, 40], index=['2015 Sales', '2016 Sales', '2017 Sales'], name='Product A')
데이터는 다양한 형태와 형식으로 저장될 수 있습니다.
이들 중 가장 기본적인 것은 CSV파일입니다.
데이터를 보면 쉼표로 구분된 값의 테이블입니다.
pd.read_csv() 함수를 통해 CSV파일을 DataFrame으로 읽어올 수 있습니다.
wine_reviews = pd.read_csv("../input/wine-reviews/winemag-data-130k-v2.csv")
shape 함수를 통해 DataFrame의 크기를 확인해 보겠습니다.
shape 함수는 (행의 수, 열의 수) 행태의 튜플을 반환합니다.
wine_reviews.shape
새로운 데이터는 14개의 서로 다른 열에 약 130,000개의 레코드가 분할되어 있는 걸 볼 수 있습니다.
다음으로 head() 함수를 통해 DataFrame의 처음 몇 개의 행을 확인해 보겠습니다.
기본적으로 head() 함수는 상위 5개의 행을 반환하지만, 원하는 행의 수를 매개변수로 지정할 수도 있습니다.
wine_reviews.head()
index_col 옵션을 사용하면 특정 열을 DataFrame의 인덱스로 지정할 수 있습니다.
CSV파일의 첫 번째 열을 DataFrame의 행 인덱스로 사용합니다.
wine_reviews = pd.read_csv("../input/wine-reviews/winemag-data-130k-v2.csv", index_col=0)
wine_reviews.head()