차밍이

[Pandas] 판다스 기초 #1 자료구조와 Attribute - index, columns, rename 본문

파이썬/기본 문법 정리

[Pandas] 판다스 기초 #1 자료구조와 Attribute - index, columns, rename

2021. 5. 29. 08:29
반응형

1. Pandas 자료 구조

판다스에서 사용하는 자료 구조는 두 가지가 있습니다.

SeriesDataFrame이 있습니다.

Series 생성 시 index 매개 변수를 이용하여 이름을 지정할 수 있습니다.

각 index에 따른 Series 들이 모여서 DataFrame을 구성합니다.

1.1 Series

import pandas as pd
s = pd.Series([1, 2, 3])
s

>>>
0    1
1    2
2    3
dtype: int64

 

1.2 Dataframe

df = pd.DataFrame([[1, 2, 3], 
                   [4, 5, 6],
                   [7, 8, 9]])
df
>>>
    0    1    2
0    1    2    3
1    4    5    6
2    7    8    9

행과 열을 정하지 않으면 0, 1, 2 순서로 형성됩니다.

 

1.2.1 DataFrame - index와 columns

import pandas as pd 
df = pd.DataFrame([[1, 2, 3], 
                   [4, 5, 6], 
                   [7, 8, 9]],
                  index=['A', 'B', 'C'], 
                  columns=['X1', 'X2', 'X3'])
df
>>>

   X1   X2    X3
A    1    2    3
B    4    5    6
C    7    8    9

indexcolumns를 사용해서 행과 열의 이름을 설정할 수 있습니다.

 

1.2.2 Dictionary to DataFrame

df = pd.DataFrame({'A':[1,2,3], 
                   'B':[2,3,4]})
df
>>>
    A    B
0    1    2
1    2    3
2    3    4

Dictionary의 Key & Value를 사용해서 DataFrame을 만들 수 있습니다.

Key 값이 column명으로 설정되며, Value의 list 값들이 value들로 들어가는 것을 확인할 수 있습니다.

 

 

2. Attribute

Pandas에서 사용되는 다양한 Attribute들을 알아보겠습니다.

Attribute를 사용하여 Series와 DataFrame의 속성을 쉽게 알아볼 수 있습니다.

  • shape : 차원 값 확인
  • value : Object의 값을 확인
  • index : 행 인덱스 확인
  • columns : 열 인덱스 확인
  • ndim : 차원 수 확인

 

2.1 Series Attribute

# Series 객체 생성
s = pd.Series({'A':[1,2,3], 'B':[2,3,4]})
print(s)
print("ndim : ", s.ndim)
print("shape : ", s.shape)
print("index : ", s.index)
>>>
A    [1, 2, 3]
B    [2, 3, 4]
dtype: object
ndim :  1
shape :  (2,)
index :  Index(['A', 'B'], dtype='object')

 

2.2 DataFrame Attribute

# DataFrame 객체 생성
df = pd.DataFrame({'A':[1,2,3], 'B':[2,3,4]})

print(df)
>>>
   A  B
0  1  2
1  2  3
2  3  4
print(df.ndim, df.shape)
print(df.values)
print(df.index)
print(df.columns)
>>>
2 (3, 2) # 2차원, 3행 2열
[[1 2]
 [2 3]
 [3 4]]
RangeIndex(start=0, stop=3, step=1)
Index(['A', 'B'], dtype='object')

df.index - 행 인덱스를 특정하게 지정하지 않은 경우, range 형태로 순차적인 형태로 잡혀있습니다.

df.columns - 열 인덱스는 지정한 index값이 들어있으며, data type은 object type인 것을 확인할 수 있습니다. 보통 string형태의 경우 object로 나타내 집니다.

 

2.2.1 DataFrame - index와 column 변경하기

df.columns = ['X1', 'X2']
df.index = ['A', 'B', 'C']

df
>>>
    X1    X2
A    1    2
B    2    3
C    3    4

행 인덱스와 열 인덱스의 값이 바뀐 것을 확인할 수 있습니다.

index와 columns를 사용해서 해당 데이터 프레임의 인덱스를 조회 할수도 있지만,

값을 지정해주면 해당 값으로 인덱스 명을 바꿀 수 있습니다.

 

2.2.2 DataFrame - 특정 column 명 바꾸기 - rename

df.rename({'X1':'Y1'}, axis='columns')
>>>
    Y1    X2
A    1    2
B    2    3
C    3    4

데이터프레임의 column의 수가 많을 경우 df.columns = [ . . . ] 이와 같은 방법으로 특정 column의 이름을 바꾸는 것은 복잡합니다.

그러므로 특정 column만 딱 찝어서 변경할 수 있도록 rename을 활용하면 좋습니다.

dictionary형태로 넣을 수 있으므로, 하나 뿐 아니라 여러개의 columns 이름을 바꿔줄 수 있습니다.

반응형

관련된 글 보기

Comments