본문 바로가기
Data Science/Python

판다스 자주쓰는 명령어2 - pd.merge(df, df2, on = " ", how= " ")

by 로떡 2022. 10. 14.
df = df.reset_index() # 인덱스 초기화
df_temp = df.head(10)
df_temp.reindex(["richard47", "whitelori", "holly23", "SJQUANT", "STOCK_KING", "tina93"])

해당 메소드는 기존 인덱스에서 원하는 인덱스를 추출하거나, 기존에 존재하지 않던 index도 확장한 Series 및 DataFrame을 뽑을 수 있게 해줍니다.

df.columns # 데이터 프레임 컬럼 확인

df.columns = ["Name", "Gender", "Address", "Mail", "Birth"]
df.index.name = "Username"
df.head()

df = df.rename(columns={"Birth": "Birthdate"}) # 컬럼명 다 입력할 필요없이 Birth -> Birthdate
df.head()

 

# 새로운 컬럼 추가하기

# Birthdate를 pandas에서 인식할 수 있는 Datetime 타입으로 바꿔주는 과정
df["Birthdate"] = pd.to_datetime(df["Birthdate"])

# Age 컬럼 추가
df['Age'] = pd.Timestamp.now().year - df["Birthdate"].dt.year
df.head()

# 컬럼 제거하기 - axis=1 무조건 넣기!

df = df.drop("Birthdate", axis=1) # axis에는 1대신 "columns"가 들어가도 됨.
df.head()

 

import random

data2 = {
	"Salary" : [random.randrange(10, 10000) for _ in range(150)], # 10이상 10000미만의 난수
    "WeeklyDrink" : [random.randrange(0, 11) for _ in range(150)],
    "WeeklyExercise" : [random.randrange(0, 6) for _ in range(150)]
    }
    
df2 = pd.DataFrame(data2, index = df.sample(150).index)
df2.head()

df = pd.merge(df, df2, on = "Username", how = "left")
df.head(20)

출처 : https://sjquant.tistory.com/55?category=898782 님꺼 그대로 연습중입니다