Rabet 2024. 9. 9. 13:42

 

1 . 열 이름 변경

- columns : 모든 열 이름 변경

data.columns=['~','~']

 

- rename() : 지정 열 이름 변경 > 딕셔너리로 설정

inplace =True : 진짜 변경해줘! (False가 디폴트 - 조회)

data.rename( columns={'원래이름' : '변경이름','~':'~'}, inplace = True )

 

2. 열 추가

- data['새로운컬럼']

data.insert(1, '새로운컬럼이름', data['다른컬럼'] + data['다른컬럼'])

- insert()

data.insert(1, '새로운컬럼이름', data['다른컬럼'] + data['다른컬럼'])

맨 앞에 1은 컬럼 위치

 

※ 열 조회 3가지

  1. list(data)
  2. data['열이름'].value_counts()
  3. data['열이름'].describe()
  4. data.head()

 

3. 열 삭제

- drop()

# 카피해두기
data2 = data.copy()

# 열 하나 삭제
data2.drop('삭제할 열',axis=1, inpalce=True)

# 열 여러개 삭제
data2.drop(['삭제할 열1','삭제할 열2'], axis=1, inplace=True)

axis = 1 : 열

axis = 0 : 행

inplace : 진짜로

 

- drop_duplicates()

중복열 삭제

data01.drop_duplicates(ignore_index= True, inplace = True)

ignore_index : 원래 인덱스 무시

 

4. 값 변경

모든 값 변경

data['있는컬럼']=0

data['있는컬럼'] = np.where(data['있는컬럼']<4)

data.loc[data['있는컬럼']<100,'있는컬럼']=0

- map

값의 종류가 여러개일때, 한번에 바꿀 때 사용

data['Gen'] = data['Gen'].map({'Male': 1, 'Female': 0})

- pd.cut

숫자형 → 범주형

age_group = pd.cut(data2['Age'], 3)

age_group = pd.cut(data2['Age'], 3, labels = ['a','b','c'])

age_group = pd.cut(data2['Age'], bins =[0, 40, 50, np.inf] , labels = ['young','junior','senior'])

 

 

3 : 3등분으로 나누기

bins : 경계값 지정

범위 [ ] : < ≤

np.inf : 무한대

ordered=False : 라벨에 중복된 숫자도 가능

 

 

- repalce('이전값","변경값")

seoul_moving['이동인구(합)'] = seoul_moving['이동인구(합)'].replace('*','1.5')

 

- astype()

타입 변경 float

seoul_moving['도착 시군구 코드'].astype(int)