'''
DataFrame 컬럼 및 인덱스 변경
1. 컬럼 변경
df.columns=[값,값2,값3,..]
2. 인덱스 변경 1
df.index =[값, 값2, ...]
2. 인덱스 변경 2
df = pd.DataFrame(dict, index =[값, 값2, ...] )
'''
Data Frame 의 컬럼과 인덱스 값을 변경하는 방법을 알아보자.
dict_value = {"c1":[4,5,6],
"c2":[14,35,26],
"c3":[43,50,61]}
df = pd.DataFrame(dict_value)
print(df)
'''
c1 c2 c3
0 4 14 43
1 5 35 50
2 6 26 61
'''
위와 같은 Data Frame df가 존재한다고 가정한다.
1. 컬럼 변경
print("1. 컬럼명 변경")
df.columns=["col1","col2","col3"]
print(df)
'''
col1 col2 col3
0 4 14 43
1 5 35 50
2 6 26 61
'''
컬럼 명을 변경하기 위해서는
column 값을 조회 했을 때 처럼 df.columns를 사용하면 되는데 이때 그냥 조회할 때 와는 다르게 = 를 사용하여 새롭게 값을 넣어준다고 생각하면 된다.
2. 인덱스 변경
인덱스 값은 두 가지 방법으로 변경 할 수 있다.
첫 번째 방법)
print("2. 인덱스 변경 - 1")
dict_value = {"c1":[4,5,6],
"c2":[14,35,26],
"c3":[43,50,61]}
df = pd.DataFrame(dict_value)
print(df)
'''
c1 c2 c3
0 4 14 43
1 5 35 50
2 6 26 61
'''
df.index=[1,2,3]
df.index=[10,20,30]
df.index=["A","B","C"]
print(df)
'''
A 4 14 43
B 5 35 50
C 6 26 61
'''
다시 Data Frame 을 원래대로 돌려주고
column 값들을 변경 했을 때와 마찬가지로 index 에다가 = 를 사용해 새로운 값을 넣어준다.
두 번째 방법)
print("2. 인덱스 변경 - 2")
dict_value = {"c1":[4,5,6],
"c2":[14,35,26],
"c3":[43,50,61]}
df = pd.DataFrame(dict_value, index=["a","b","c"])
print(df)
'''
c1 c2 c3
a 4 14 43
b 5 35 50
c 6 26 61
'''
두 번째 방법은 DataFrame() 함수에 있는 index 속성을 활용하는 것
그런데 저번 포스팅에서 확인했듯이 DataFrame() 에는 columns 속성도 있는데 컬럼은 저 방법으로
변경이 안되는 걸까?
궁금해서 한 번 해봤더니
dict_value = {"c1":[4,5,6],
"c2":[14,35,26],
"c3":[43,50,61]}
df = pd.DataFrame(dict_value)
print(df, type(df)) # <class 'pandas.core.frame.DataFrame'>
'''
c1 c2 c3
0 4 14 43
1 5 35 50
2 6 26 61
'''
df = pd.DataFrame(dict_value,columns=["1","2","3"])
print(df)
Empty DataFrame
Columns: [1, 2, 3]
Index: []
이렇게 비어있는 Data Frame 이 출력되는 것을 확인할 수 있었다.
아마 Data Frame 이 generator 속성을 가지고 있는게 아닌가 싶다.
✅ 요약 정리
1. Data Frame 의 컬럼 값은 df.colunms = [값, 값2, ...] 로 재설정 할 수 있다.
2. Data Frame 의 인덱스 값은 df.index =[값, 값2, ...] 또는 pd.DataFrame(dict_value,index=[값,값2,...]) 로 재설정 가능하다.
'pandas' 카테고리의 다른 글
[pandas] DataFrame 컬럼, 행 조회 (0) | 2022.10.02 |
---|---|
[pandas] DataFrame 인덱스 관리 (0) | 2022.10.02 |
[pandas] Data Frame 중첩 Dict 으로 생성하기 (0) | 2022.10.02 |
[pandas] Data Frame 컬럼, 인덱스, 내용 정보 보기 (0) | 2022.10.02 |
[pandas] Data Frame 생성 방법 (0) | 2022.10.02 |