문과생의 파이썬

[Pandas] 인덱스(행), 컬럼(열) 기초

DorYi 2024. 8. 7. 13:44

 

인덱스

1. 데이터 저장

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': ['a', 'b', 'c']
}, index=['idx1', 'idx2', 'idx3'])

 

2. 인덱스 정보 불러오기

df.loc['idx2'] #[]행의 정보를 가져와

 


💡loc, iloc

loc (location)

df.loc[] : 라벨(행, 열의 이름)을 사용하여 특정 위치의 행과 열에 접근할 수 있다. (인덱스 이름이 ~인 행만 추출해줘)

DataFrame.loc[행 인덱싱 값, 열 인덱싱 값]
df.loc['idx2']      #idx2 열 전체 출력
df.loc[:, :]        #df의 전체 행, 전체 열 출력

 

iloc (index location)

df.iloc[] : 데이터프레임의 행이나 컬럼에 인덱스 값으로 접근할 수 있다. (~번째 행에 있는 값들만 추출해줘)

DataFrame.iloc[<행 위치>, <열 위치>]
df.iloc[0]      #첫번째 행 출력
df.iloc[:, 1]   #두번째 열 출력
df.iloc[0, 1]   #첫번째 행, 두번째 열 출력
df.iloc[0:5:2]  #다섯번째 행까지 두칸씩 띄워서 출력
df.iloc[0::2]   #첫번째 행부터 두칸씩 띄워서 출력
df.iloc[1:3, 0] #파이썬은 숫자 슬라이싱 시 3이면 3 앞의 숫자까지 불러옴 (문자열은 상관없음)

 

3. 인덱스 정렬

df.sort_index() #인덱스 정렬해줘

 

4. 인덱스 재지정 (기존으 ㅣ행 인덱스를 제거하고 데이터 열중 하나를 인덱스로 재설정)

df.set_index('A')

 

 

5. 인덱스 내용물, 인덱스 타입 확인

df.index

 

 

6. 인덱스 이름 바꾸기

df.index = ['ㄱ', 'ㄴ', 'ㄷ']

 

7. 

df.reset_index

 

df.reset_index (drop=True) #drop=true 해주면 원래대로 돌아옴


2. 컬럼

1. 데이터 저장

data = {
    'name': ['alice', 'bob', 'charlie'],
    'age' : [25, 30, 35],
    'gender': ['female', 'male', 'male']
}
df = pd.DataFrame(data)

 

 

2. 특정 컬럼 정보 뽑아오기

df['age']

 

 

3. 컬럼 내용물, 컬럼 형식 알기

df.columns

 

 

4. 컬럼 이름 변경

df.columns = ['이름', '나이', '성별']

 

5. 특정 컬럼 이름 변경

df = df.rename(columns={'이름':'name'})

 

 

6. 컬럼 추가하기

df['스포츠'] = '축구'

 

 

7. 컬럼 삭제하기

del df['스포츠']