14 Index, Column Method

Index, Column조작

  • Pandas에서는 Index와 Columns이 객체이므로 객체 안에 중요한 정보를 다루기 위한 메소드들이 존재함
  • 대표적인 방법들 정리해 보면
    1. reset_index: index를 columns의 하나로 변형시키고 0부터 n-1 까지 새로운 index를 추가
    2. set_index: reset_index와는 반대로 columns 중에 하나를 index로 변경
    3. drop([row]) : index의 row를 삭제함
    4. drop([col], axis=1): 컬럼을 삭제
    5. df[df.name != 'Tina']: 특정컬럼의 조건 로우만 삭제
    6. 컬럼이름 변경: df.rename
    7. 컬럼 Slicing을 통한 DataFrame내 컬럼 내 위치변경
In [1]:
import pandas as pd
import numpy as np
data  = np.arange(12).reshape((-1, 4))

index = [2002, 2003, 2004]
columns = ['Arizona','Boston', 'Chicago','Detroit']
df = pd.DataFrame(data = data, index = index , columns = columns)
print(df)
      Arizona  Boston  Chicago  Detroit
2002        0       1        2        3
2003        4       5        6        7
2004        8       9       10       11
In [2]:
# index에 'Year'라는 이름을 부여함
df.index.name = 'Year'
print(df.index)
df
Int64Index([2002, 2003, 2004], dtype='int64', name='Year')
Out[2]:
ArizonaBostonChicagoDetroit
Year
20020123
20034567
2004891011
In [3]:
# reset_index를 사용하여 'Year'가 하나의 컬럼으로 변경됨
df = df.reset_index()
df
Out[3]:
YearArizonaBostonChicagoDetroit
020020123
120034567
22004891011
In [4]:
# 컬럼 'Arizona'  set_index()메소드를 사용하여 index로 변경
df = df.set_index('Arizona')
df
Out[4]:
YearBostonChicagoDetroit
Arizona
02002123
42003567
8200491011
In [5]:
#index를 인풋으로 drop메소드 사용 
df.drop([0, 4])
Out[5]:
YearBostonChicagoDetroit
Arizona
8200491011
In [6]:
# drop메소드 사용시 columm이 인풋이면 axis = 1를 추가 해야 함
df.drop(['Boston','Year'], axis = 1)
Out[6]:
ChicagoDetroit
Arizona
023
467
81011
In [7]:
# 특정컬럼의 조건만 삭제
df[df['Boston'] != 1]
Out[7]:
YearBostonChicagoDetroit
Arizona
42003567
8200491011
In [8]:
# 컬럼이름 변경

df = df.rename(columns={'Year': 'Arizona', 'Chicago': 'Chicago2'})
df
Out[8]:
ArizonaBostonChicago2Detroit
Arizona
02002123
42003567
8200491011
In [9]:
# 컬럼 Slicing을 통한 DataFrame 위치변경
df = pd.DataFrame(data = data, index = index , columns = columns)
cols = df.columns.tolist()
cols = cols[-1:] + cols[:-1]
df = df[cols]
df
Out[9]:
DetroitArizonaBostonChicago
20023012
20037456
2004118910


© 2017. All rights reserved.

Powered by ZooFighter v0.12