✅ KHUDA 판다스 기초 스터디 2주차 : I~L 챕터 정리

# 52. 조건에 맞는 새로운 열 만들기
df['sum']=df['a']+df['b']+df['c']

# 53. assign()을 이용해 조건에 맞는 새 열 만들기
# a열, b열, c열의 값을 모두 더해 d열을 만들어 줍니다.
df=df.assign(multiply=lambda df: df['a']*df['b']*df['c'])

# 54. 숫자형 데이터를 구간으로 나누기
# a열을 두 개로 나누어 각각 새롭게 레이블을 만들라는 의미입니다.
df['qcut']=pd.qcut(df['a'],2,labels=["600이하","600이상"])

# 55. 기준 값 이하와 이상을 모두 통일시키기
# a열에서 5 이하는 모두 5로, 6 이상은 모두 6으로 변환합니다.
df['clip']=df['a'].clip(lower=5,upper=6)

# 56. 최댓값 불러오기
df.max(axis=0) # axis=0은 행과 행 비교, axis=1은 열과 열 비교

# 57. 최솟값 불러오기
df.min(axis=0)


# 58. 모든 열을 행으로 변환하기
pd.melt(df)

# 59. 하나의 열만 행으로 이동시키기
pd.melt(df,id_vars=['A'],value_vars=['B'] ) # A열만 그대로, B열은 행으로 이동

# 60. 여러 개의 열을 행으로 이동시키기
# A열만 그대로, B열과 C열은 행으로 이동시킵니다.
df_melt=pd.melt(df,id_vars=['A'],value_vars=['B','C'])
df_melt

# 61. 특정 열의 값을 기준으로 새로운 열 만들기
# A열을 새로운 인덱스로 만들고, B열과 C열은 이에 따라 정리합니다.
df_pivot=df_melt.pivot(index='A',columns='variable',values='value')
df_pivot

# 62. 원래 데이터 형태로 되돌리기
df_origin=df_pivot.reset_index() # 인덱스를 리셋합니다.
df_origin.columns.name=None # 인덱스 열의 이름을 초기화합니다.
df_origin


# 63. 시리즈 데이터 합치기
pd.concat([s1,s2])

# 64. 데이터를 병합할 때 새로운 인덱스 만들기
pd.concat([s1,s2],ignore_index=True)

# 65. 계층적 인덱스를 추가하고 열 이름 지정하기
pd.concat([s1,s2],
keys=['s1','s2'],
names=['Series name','Row ID'])



# 66. 데이터 프레임 합치기
pd.concat([df1,df2])

# 67. 열의 수가 다른 두 데이터 프레임 합치기
pd.concat([df1,df3])

# 68. 함께 공유하는 열만 합치기
pd.concat([df1,df3],join="inner")

# 69. 열 이름이 서로 다른 데이터 합치기
pd.concat([df1,df4],axis=1)
