import pandas as pd
df = pd.DataFrame({'Old A' : ['Old a1', 'Old a2', 'Old a3', 'Old a4'], 'Old B' : ['Old b1', 'Old b2', 'Old b3', 'Old b4'], 'Old C' : ['Old c1', 'Old c2', 'Old c3', 'Old c4']})
df
1. 인덱스 명 바꾸기
- 1-1 df.index = ["바꿀 인덱스 값"]
# 모든 인덱스를 바꿀때만
# 이미 생성된 컬럼수와 입력하는 컬럼수가 같아야함
df.index = ["New 0", "New 1", "New 2", "New 3"]
df
- 1- 2 df.rename(columns = {"원래이름" : "바꿀이름" }, option)
(일부의 인덱스명만 바꿀때 and 인덱스명으로)
* rename의 파라미터인 딕셔너리 형태로 써줌
# 일부의 인덱스명만 바꿀때 and 인덱스명으로
df.rename(index = {0: "New 0", 1: "New 1"})
# df.rename({0: "New 0", 1: "New 1"}, axis =0)
# axis= 0 은 인덱스 (생략도 가능)
option : inplace = True (기존값도 변경)
- 1-3 df.index.values[컬럼번호] = "바꿀 컬럼명"
(일부의 컬럼명만 바꿀때 and 컬럼명으로)
# 일부의 인덱스명만 바꿀때 and 인덱스 번호로
df.index.values[0] = "New A0"
오류발생 !!
# 'int' object has no attribute 'index'
# invalid literal for int() with base 10: 'New A0'
- 1-4 컬렴을(열)을 인덱스로 만들기
df1 = df.set_index("Old A")
df1
2. 컬럼명 명 바꾸기
-> 인덱스랑 똑같다. 'Index 대신 'columns'로 바꾸면 끝
- 1- 1 df.column 을 통해서 바꾸기
(모든 컬럼명을 바꿔야 할때만)
* column 의 파라미터인 리스트형태로 써줌
df.columns = ["New A", "New B", "New C"] # 이미 생성된 컬럼수와 입력하는 컬럼수가 같아야함
df
- 1- 2 df.rename(columns = {"원래이름" : "바꿀이름" }, option)
(일부의 컬럼명만 바꿀때 and 컬럼명으로)
* rename의 파라미터인 딕셔너리 형태로 써줌
# 일부의 컬럼명만 바꿀때 and 컬럼명으로
df.rename(columns = {"Old A": "New A1", "Old B": "New B1"})
# df.rename({"Old A": "New A1", "Old B": "New B1"}, axis =1)
# axis= 1 은 컬럼(열)
# rename() 함수에서는 lambda 사용가능
df.rename(columns= lambda x:'[' + x +']' )
option : inplace = True (기존값에 저장)
- 1-3 df.columns.values[컬럼번호] = "바꿀 컬럼명"
(일부의 컬럼명만 바꿀때 and 컬럼명으로)
# 일부의 컬럼명만 바꿀때 and 컬럼 번호로
df.columns.values[0] = "New A1"
3. 데이터 값 변경
CRUD에서 R과 똑같음
https://itcreator.tistory.com/143
# https://itcreator.tistory.com/143 3-1번
titan_df.loc[0,'Pclass'] # 3이 출력됐었음
# " = " 만 넣으면 끝
titan_df.loc[0,'Pclass'] = 999999 # 3에서 999999로 바뀜
4. 조건으로 데이터 값 변경하기
- lamda
# st['default'] = st['default'].apply(lambda x : 0 if x == 'No' else 1)
# st
5. replace
df.replace('현재 문자열', '바꿀 문자열', inplace = True) # inplace = True : 원본도 바꿈
# 여러개 바꿀때는 Key-Value 형태로 가능
df.replace({'현재 문자열1':'바꿀 문자열 1', '현재문자열2':' 바꿀 문자열 2'})
# 하나의 컬럼에서 바꿀때
df.replace({'컬럼이름': {'찾을 문자열': '대체 문자열'}}
'AI > [Pandas]' 카테고리의 다른 글
[Pandas] 4. DataFrame에서 데이터 추출 (loc, iloc) (R) (1) | 2023.02.03 |
---|---|
[Pandas] 3. DataFrame 행(row)열(column) 추가 삭제 (C, D) (0) | 2023.02.03 |
[Pandas] 2. Pandas 시리즈(Series)와 데이터프레임(Dataframe) (2) | 2023.02.03 |
[Pandas] 1. 행렬 이거 하나로 한방정리(가로?세로?) (0) | 2023.02.03 |