Python(Colab) 데이터프레임 등수매기기,타입변경,날짜,apply,map

2023. 6. 8. 17:17파이썬

등수 설정: rank()

# rank(): 데이터프레임 또는 시리즈 순위를 매기는 함수(default값: ascending)
 
df1['순위']=df1['브랜드평판지수'].rank(ascending=False)
 

 

 

astype(): 데이터프레임 특정 열의 자료형을 바꿀 수 있다.

순위 float을 int 로 변경

 

df1['순위']=df1['순위'].astype(int)
 
 

 

#바꾼 후 타입 확인하기 
 
df1['순위'].dtypes
 

 

 

 

to_datetime(): object 타입에서 datetime 타입으로 변환(날짜 계산 가능)

 

df['생년월일'] = pd.to_datetime(df['생년월일'])
df.info()
 
 

 

# 연, 월, 일 뽑아 보기
df['생년월일'].dt.year
df['생년월일'].dt.month
df['생년월일'].dt.day



# 시, 분, 초 뽑아 보기
df['생년월일'].dt.hour
df['생년월일'].dt.minute
df['생년월일'].dt.second



# 요일
df['생년월일'].dt.dayofweek # 0부터 월

 

# 1년의 몇번째 주인지
df['생년월일'].dt.isocalendar().week
 
 

 

apply(함수):

시리즈나 데이터프레임에 구체적인 로직을 일괄적으로 적용하고 싶을 때 사용

apply를 적용하기 위해서는 별도의 함수가 먼저 정의되어있어야한다.

그 후 apply(별도의 함수) 이런식으로 사용 

 

 

 

# 버전 1  :성별이 남자는 1, 여자는 0으로 변환(loc) 사용

df.loc[df['성별']=='남자','성별'] =1
df.loc[df['성별']=='여자','성별'] =0
 
 
 
# 버전 2  : 함수로 적용해보기 
 
def male_or_female(x):
    if x == '남자':
        return 1
    elif x == '여자':
        return 0
 
df['성별'].apply(male_or_female)
 
 

# 버전 3  :람다식으로 변경
df['성별'].apply(lambda x: 1 if x =='남자'else 0 )
 


map(딕셔너리):

dictionary를 통해 데이터와 같은 key의 값을 적용

 

map_gender = {'남자':1,'여자':0}

df['NEW_GENDER'] = df['성별'].map(map_gender)
 
 
 
728x90