차밍이
[Pandas] 판다스 기초 #1 자료구조와 Attribute - index, columns, rename 본문
1. Pandas 자료 구조
판다스에서 사용하는 자료 구조는 두 가지가 있습니다.
Series와 DataFrame이 있습니다.
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    9index와 columns를 사용해서 행과 열의 이름을 설정할 수 있습니다.
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    4Dictionary의 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  4print(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 이름을 바꿔줄 수 있습니다.
'파이썬 > 기본 문법 정리' 카테고리의 다른 글
| [Python] getattr() 를 사용해서 간결하게 코드 작성하기, 예시 및 장점 (2) | 2022.02.25 | 
|---|---|
| [Python] 파일명 바꾸기, 여러 파일 한번에 변경 - os.rename (1) | 2022.02.24 | 
| [Python] 파일 확장자 구하기, 확장자로 나누기 - os.path.splitext (1) | 2022.02.23 | 
| [Pandas] 판다스 기초 #2 - 데이터 구간별 범주화 pd.cut (0) | 2021.05.30 | 
| [파이썬] 함수에 입력 변수 여러개 받기 - 매개변수 (0) | 2021.05.28 | 
| [NumPy] 넘파이 기초 공부하기 #2 np.vstack, hstack, fromfunction (0) | 2021.05.27 | 
| [파이썬] zip 내장함수 - 묶어서 데이터 가져오기 (0) | 2021.05.26 | 
| [파이썬] 리스트 인덱스와 값 같이 가져오기 : 내장함수 - enumerate (0) | 2021.05.26 | 
 
													 
													 
													