본문 바로가기
파이썬/파이썬 데이터 분석, 데이터처리

Pandas) 데이터 분석 2편, 2차원 데이터 DataFrame 만들기 with Dictionary, (표 데이터 파이썬으로 만들기), 인덱스 지정하기

by SeH_ 2023. 1. 15.
반응형

나도코딩 유튜브 + 외주 자료를 참고하여 만든 자료입니다. 


1. Dictionary 형태로 데이터를 만들기

import pandas as pd

# 2차원 데이터
# 1. 사전 자료구조를 통해 생성


data = {
    '이름' : ['채치수', '정대만', '송태섭', '서태웅', '강백호', '변덕규', '황태산', '윤대협'],
    '학교' : ['북산고', '북산고', '북산고', '북산고', '북산고', '능남고', '능남고', '능남고'],
    '키' : [197, 184, 168, 187, 188, 202, 188, 190],
    '국어' : [90, 40, 80, 40, 15, 80, 55, 100],
    '영어' : [85, 35, 75, 60, 20, 100, 65, 85],
    '수학' : [100, 50, 70, 70, 10, 95, 45, 90],
    '과학' : [95, 55, 80, 75, 35, 85, 40, 95],
    '사회' : [85, 25, 75, 80, 10, 80, 35, 95],
    'SW특기' : ['Python', 'Java', 'Javascript', '', '', 'C', 'PYTHON', 'C#']
}
print(data['이름'])

>> ['채치수', '정대만', '송태섭', '서태웅', '강백호', '변덕규', '황태산', '윤대협']

df = pd.DataFrame(data)
print(df)

데이터 뽑아오기

print(df['이름'])

 

이런 식으로 index와 데이터가 함께 나옴을 알 수 있습니다. 

 

만약 이름과 키를 뽑아오고 싶다면요?(두 개 이상의 column 데이터를 가져오고 싶을 때)

print(df[['이름','키']])

df 안 리스트 안 리스트를 넣으시면 됩니다. 

 


인덱스 지정하기

1. Index 순서 1부터 시작하게 만들기.

df = pd.DataFrame(data, index = [i for i in range(len(data['이름']))])
print(df)

2. Index 이름 '순번'으로 바꾸기(원래 빈 값)

# Index 이름 설정
df.index.name = '순번'
print(df)

3. 2번 값 지우기

#Index 초기화 반영 안되는거 inplace
df.reset_index(drop= True,inplace=True)# 원래 썼던 순번 인덱스 삭제, 새로운 인덱스 0,1,2가 생김
# inplace는 실제 데이터를 바꿔줌.
print(df)

 

4. Column의 데이터를 index로 만들기 

df.set_index('이름',inplace=True)
print(df)

 

5. Index를 기준으로 오름차순, 내림차순 정렬하기

# Index 기준으로 오름차순, 내림차순 정렬
print(df.sort_index()) # 인덱스로 오름차순 정렬
print(df.sort_index(ascending=False)) # 인덱스로 내림차순 정렬

 

 

 

 

 

 

Column 지정하기

# Columns 지정
df = pd.DataFrame(data, index = [i for i in range(1, len(data['이름'])+1)], columns = ['이름','학교','키'])
print(df)

 

 

댓글