판다스(Pandas)

(1) 판다스(Pandas)란? - Creating, Reading and Writing [Hellfer]

Hellfer 2024. 7. 22. 11:28
728x90

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'])

 

'0' 대신 'Product A'로 '1' 대신 '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()

 

728x90