import numpy as np
import pandas as pd
df = pd.DataFrame({
'지역': ['서울', '서울', '서울', '경기', '경기', '부산', '서울', '서울', '부산', '경기', '경기', '경기'],
'요일': ['월요일', '화요일', '수요일', '월요일', '화요일', '월요일', '목요일', '금요일', '화요일', '수요일', '목요일', '금요일'],
'강수량': [100, 80, 1000, 200, 200, 100, 50, 100, 200, 100, 50, 100],
'강수확률': [80, 70, 90, 10, 20, 30, 50, 90, 20, 80, 50, 10]
})
df
df.pivot('지역', '요일')
df.pivot('요일', '지역')
pd.pivot_table(df, index='요일', columns='지역', aggfunc=np.mean)
import numpy as np
import pandas as pd
df = pd.DataFrame({
'지역': ['서울', '서울', '서울', '경기', '경기', '부산', '서울', '서울', '부산', '경기', '경기', '경기'],
'요일': ['월요일', '화요일', '수요일', '월요일', '화요일', '월요일', '목요일', '금요일', '화요일', '수요일', '목요일', '금요일'],
'강수량': [100, 80, 1000, 200, 200, 100, 50, 100, 200, 100, 50, 100],
'강수확률': [80, 70, 90, 10, 20, 30, 50, 90, 20, 80, 50, 10]
})
df
new_df = df.set_index(['지역', '요일'])
new_df
# 첫번째 레벨의 인덱스를 컬럼으로 이동
new_df.unstack(0)
# 두번째 레벨의 인덱스를 컬럼으로 이동
new_df.unstack(1)
# 첫번째 레벨의 컬럼을 인덱스로 이동
new_df.unstack(0).stack(0)
new_df.unstack(0).stack(1)
new_df.stack
>>> <bound method DataFrame.stack of 강수량 강수확률
지역 요일
서울 월요일 100 80
화요일 80 70
수요일 1000 90
경기 월요일 200 10
화요일 200 20
부산 월요일 100 30
서울 목요일 50 50
금요일 100 90
부산 화요일 200 20
경기 수요일 100 80
목요일 50 50
금요일 100 10>
import numpy as np
import pandas as pd
df1 = pd.DataFrame({'key1' : np.arange(10), 'value1' : np.random.randn(10)})
df2 = pd.DataFrame({'key1' : np.arange(10), 'value1' : np.random.randn(10)})
df2
pd.concat([df1, df2], ignore_index = True)
pd.concat([df1, df2], axis = 1)
df3 = pd.DataFrame({'key2' : np.arange(10), 'value2' : np.random.randn(10)})
pd.concat([df1, df3], axis=1)
import numpy as np
import pandas as pd
customer = pd.DataFrame({'customer_id' : np.arange(6),
'name' : ['철수'"", '영희', '길동', '영수', '수민', '동건'],
'나이' : [40, 20, 21, 30, 31, 18]})
customer
orders = pd.DataFrame({'customer_id' : [1, 1, 2, 2, 2, 3, 3, 1, 4, 9],
'item' : ['치약', '칫솔', '이어폰', '헤드셋', '수건', '생수', '수건', '치약', '생수', '케이스'],
'quantity' : [1, 2, 1, 1, 3, 2, 2, 3, 2, 1]})
orders.head()
pd.merge(customer, orders, on='customer_id', how='inner')
pd.merge(customer, orders, on='customer_id', how='left')
pd.merge(customer, orders, on='customer_id', how='right')
pd.merge(customer, orders, on='customer_id', how='outer')
cust1 = customer.set_index('customer_id')
order1 = orders.set_index('customer_id')
cust1
order1
pd.merge(cust1, order1, left_index=True, right_index=True)
cust1.join(order1, how='inner')
머신러닝과 데이터 분석 A-Z 올인원 패키지 Online. 👉 https://bit.ly/3cB3C8y