[Pandas] 데이터프레임 DataFrame

cybergangster·2022년 6월 20일
0

Pandas

목록 보기
2/20
post-thumbnail
post-custom-banner

판다스란?

  • R의 데이터프레임 데이터 타입을 참고하여 만든 것
  • 데이터프레임 3요소 - 컬럼, 로우(데이터), 인덱스
  • 다양한 데이터 타입 이용 가능 - list, dictionary, series, ndarray 등
  • series들을 하나의 열로 취급한 집합이라 볼 수 있음
  • 데이터를 표의 형태로 처리하는 자료구조로 보통 RDB 환경에서 SQL로 테이블을 컨트롤할 수 있는 수준의 기능들이 상당부분 데이터프레임에 구현되어 있음
import pandas as pd

# 생성 방법
df = pd.Dataframe([[1,2,3],['a','b','c'],['A','B','C']]) // 리스트

data = {
         'id':['a','b','c'],
         'pw':['1','2',3'],
         'etc':[1,0,0],
}
idx=['대한','민국','만세']
df = pd.Dataframe(data, index=idx) // 딕셔너리


# 컬럼 조회
df.id // df.id[1] - 'id'열의 인덱스 1 값
df['id'] // df['id'][1] - 'id'열의 인덱스 1# 로우 조회
df.ix[0]
df.loc['대한']
df.iloc[0]
// ix는 인덱스로, 인덱스가 integer로만 이루어진 경우 인덱스로 접근, 인덱스에 문자가 껴있으면 순서로 접근
// iloc은 인덱스와 상관없이 순서를 보고 로우 불러옴

# 컬럼 추가
newdf = pd.DataFrame(df, columns=['id','pw','etc','aaa'])
newdf['aaa']=['aaa','bbb','ccc'] // 데이터 추가

# 로우 추가
newnewdf = newdf.copy()
newnewdf.loc['대한']=['a',1,1,'aaa']

# 삭제
df.drop('etc',axis=1,inplace=True) // axis = 0 :, axis = 1 :// inplace 옵션이 없으면 기존 프레임에 적용되는 게 아니라 삭제된 상태의 프레임이 리턴퇸다.
// 기존 프레임에 적용하고 싶으면 inplace=True 옵션을 추가한다.

# 수정
df.ix[0]['대한]='z' // 인덱스 0, '대한' 컬럼의 데이터 값을 'z'로 수정한다.

이것들 외에도 여러 방법이 있다.


post-custom-banner

0개의 댓글