Python 공부 | Pandas로 데이터 불러오기/저장하기

2024. 12. 23. 15:16·Python

 

🐼 pandas의 구조


데이터 불러오기

  • Tip. 파일 경로 찾는 방법
    • Window
      1. 파일 탐색기(File Explorer)를 사용하여 파일 경로 찾기:
      2. 파일 탐색기를 열고 원하는 파일 또는 폴더를 찾은 후, 주소 표시줄(Address Bar)에 파일 경로가 표시됩니다. 이 경로를 복사하여 사용하거나, 마우스 오른쪽 버튼을 클릭하고 "속성(Properties)"을 선택하면 파일 또는 폴더의 속성 창에서 경로를 확인할 수 있습니다.
      3. 명령 프롬프트(Command Prompt)를 사용하여 파일 경로 찾기:
      4. 명령 프롬프트(cmd)를 열고, cd 명령어를 사용하여 원하는 디렉토리로 이동합니다. 그리고 pwd 명령어를 입력하면 현재 디렉토리의 경로를 확인할 수 있습니다.
    • Mac
      1. Finder를 사용하여 파일 경로 찾기:
      2. Finder를 열고, 원하는 파일 또는 폴더를 찾은 후, 상단의 경로 표시줄(Address Bar)에 파일 경로가 표시됩니다. 이 경로를 복사하여 사용하거나, 파일 또는 폴더를 선택한 후 마우스 오른쪽 버튼을 클릭하여 "정보 보기(Get Info)"를 선택하면 파일 또는 폴더의 경로를 확인할 수 있습니다.
      3. 터미널(Terminal)을 사용하여 파일 경로 찾기:
      4. 터미널을 열고, pwd 명령어를 입력하면 현재 작업 디렉토리의 경로를 확인할 수 있습니다.
  • 엑셀/CSV 데이터 불러오기
    • pd.read_csv('./파일명.xlsx')
    • pd.read_excel('./파일명.xlsx')
# pd.read_excel('파일경로/파일명.확장자')

# 엑셀 불러오기
pd.read_excel('./파일명.xlsx') # ./ ==> 현재 내가 있는 위치라는 의미

# csv 파일 불러오기
pd.read_csv('./파일명.xlsx')
  • 데이터 저장하기
    • pd.to_csv(’파일경로/파일명.확장자’ , index = False)
    • pd.to_excel(’파일경로/파일명.확장자’ , index = False)
# 시작하기!
# vscode에서 python, jupyter notebook다 설치한 다음에 폴더에 .ipynb(주피터노트북)확장자로 파일 생성 
# ctrl + shift + ~ 누르고 terminal켜서 pip3 install pandas 해서 먼저 설치하기 (맥북이라 pip3)
# 다시 주피터노트북

import pandas as pd
import seaborn as sns


# to_csv라는 메서드를 통해 csv파일에 데이터를 저장할 수 있음
# 전처리 끝난 데이터는 이렇게 파일화해서 저장하고 끝내면 됨

data = sns.load_dataset('tips')

# index=False를 통해 왼쪽에 넘버링 없앨 수 있음
data.to_csv("tips_data.csv", index=False)

# 만들 때 못 했다면 불러올 때 없앨 수도 있음
df = pd.read_csv("tips_data.csv",index_col =0)
df

# 파일 저장 경로도 같이 설정할 수 있음. temp 안에 저장
# to_excel이라고 했으면 파일 확장자명도 동일하게 .xlsx로 해야 함
df.to_excel("temp/tips_date.xlsx",index=False)

인덱스(Index)

  • 인덱스 : 데이터프레임(DataFrame) 또는 시리즈(Series)의 각 행 또는 각 요소에 대한 식별자
    • DataFrame 자료구조에도 인덱스를 설정할 수 있음
    • 0부터 시작하는 숫자 뿐아니라 임의로 문자로 적용할 수 있음
    • 아예 처음부터 파일 불러올때 , 인덱스를 지정하는 것도 가능
  • 인덱스의 특징
    1. 고유성(Uniqueness): 각 행은 유일한 인덱스 값을 가져야함. 중복된 인덱스 값을 가질 수 없음.
    2. 불변성(Immutability): 한 번 생성된 인덱스는 변경(수정)할 수 없음. 단, 새로운 값 할당하여 기존 인덱스 대체하는 것은 가능
    3. 조작 및 탐색(Manipulation and Retrieval): 인덱스를 사용해 데이터프레임 또는 시리즈의 특정 행을 선택하거나 탐색 가능
    4. 정렬(Sorting): 인덱스를 기준으로 데이터프레임 또는 시리즈의 행을 정렬할 수 있음
  • 인덱스 예시
import pandas as pd
# 인덱스를 이렇게 직접 지정할 수도 있음
df = pd.DataFrame({
	'A': [1, 2, 3],
    'B': ['a', 'b', 'c']
}, index=['idx3', 'idx2', 'idx1'])

#인덱스를 통해 특정 행에 접근할 수 있음
df.loc['idx2']

# 인덱스를 기준으로 데이터프레임 정렬
df.sort_index()

# 인덱스를 다시 지정. A라는 컬럼으로 인덱스를 쓰겠다
df.set_index('A')

# 인덱스에 뭐가 있고, 타입이 뭔지 반환
df.index

# 인덱스 내용 변경
df.index = ['ㄱ','ㄴ','ㄷ']
df

# 인덱스 초기화. 현재 인덱스를 0부터 시작하는 정수로 변경
df.reset_index(drop=True)

# reset_index(drop = True) 명령어를 활용하면,
# 현재 인덱스 값을 컬럼으로 변경하지 않고 인덱스를 초기화할 수 있습니다


컬럼(Column)

  • 컬럼
    • 데이터프레임(DataFrame)의 열(또는 변수)을 나타냅니다.
    • 데이터프레임은 행과 열로 구성되며, 각 열은 서로 다른 종류의 데이터를 담고 있습니다.
    • 데이터프레임의 세로 방향에 있는 데이터들을 컬럼이라고 부릅니다.
  • 컬럼의 특징
    1. 고유한 이름(라벨)을 가지고 있으며, 해당 컬럼의 데이터를 식별하는 데 사용
    2. 특정한 종류의 데이터를 담고 있고 숫자, 문자열, 날짜 등 다양한 유형의 데이터를 포함할 수 있음
    3. 시리즈(Series) 객체로 구성되어 있으며, 시리즈는 동일한 데이터 유형을 가진 1차원 배열과 유사함
    4. 데이터프레임의 일부로 간주되며, 해당 열의 데이터를 조작하고 접근할 수 있는 인터페이스를 제공함
  • 컬럼 예시
import pandas as pd

# 데이터프레임 생성
data = {
    '이름': ['Alice', 'Bob', 'Charlie'],
    '나이': [25, 30, 35],
    '성별': ['여', '남', '남']
}

df = pd.DataFrame(data)
df

# 각 컬럼 출력
print(df['이름'])  # '이름' 컬럼 출력
print(df['나이'])  # '나이' 컬럼 출력
print(df['성별'])  # '성별' 컬럼 출력

# df 대괄호[컬럼명]
df['이름']

# 컬럼들 출력
df.columns

# 컬럼명 변경
df.columns = ['name','age','gender']
df

# 컬럼명 변경
# 이 때는 df를 다시 선언해줘야 함
df = df.rename(columns = {'name':'이름', 'gender':'남/여'})
df

# 컬럼 추가. 하나로 통일
df['스포츠'] = '축구'
df

# 컬럼 추가. 각 내용 별도로
df['스포츠'] = ['축구','야구','농구']
df

# 칼럼 삭제
# 얘는 df.del이 아니고 del df 대괄호[컬럼명] 구조
del df['스포츠']
df


*추가 학습 자료

 

판다스 10분 완성 / 10 Minutes to Pandas

Pandas 10분 완성 역자 주 : 본 자료는 10 Minutes to Pandas (하단 원문 링크 참조)의 한글 번역 자료로, 번역은 데잇걸즈2 프로그램 교육생 모두가 함께 진행하였습니다. 데잇걸즈2는 과학기술정보통신

dataitgirls2.github.io

 

'Python' 카테고리의 다른 글
  • Python 공부 | Pandas로 데이터 선택하기
  • Python 공부 | Pandas로 데이터 확인, 데이터 타입 변경
  • Python 실습 | 두 수의 차, 곱, 몫,합 구하기, 나이 출력, 숫자 비교, 짝수의 합, 배열의 평균값
  • Python 공부 | 알면 유용한 파이썬 문법
초담
초담
4년차 마케터입니다
  • 초담
    그로스마케터의 기록
    초담
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (117)
      • Data Analytics Project (3)
      • SQL (55)
      • Python (43)
      • GA4 (0)
      • Tableau (8)
      • 아티클 스터디 (7)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
초담
Python 공부 | Pandas로 데이터 불러오기/저장하기
상단으로

티스토리툴바