차밍이
[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 9
index
와 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 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 이름을 바꿔줄 수 있습니다.
'파이썬 > 기본 문법 정리' 카테고리의 다른 글
[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 |