Python
[Python]Pandas _ Merge, Concat
๊ฐ๋ฐ์์ด๋ฌด
2023. 8. 29. 08:49
๋ฐ์ํ
โ Data Load
# Data Load (df1, df2)
df = pd.read_csv(DataUrl)
df = df.set_index('Location')
df1 = df.iloc[:4,:]
df2 = df.iloc[4:,:]
display(df1)
display(df2)
โ df1, df2 ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ฐ์ดํฐ ํ๋ ์์ผ๋ก ํฉ์น๊ธฐ
# df1, df2 ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ฐ์ดํฐ ํ๋ ์์ผ๋ก ํฉ์น๊ธฐ
total = pd.concat([df1,df2])
Ans = total
Ans
โ df3๊ณผ df4 ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ฐ์ดํฐ ํ๋ ์์ผ๋ก ํฉ์น๊ธฐ
# df3๊ณผ df4 ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ฐ์ดํฐ ํ๋ ์์ผ๋ก ํฉ์น๊ธฐ (๋๋ค ํฌํจํ๊ณ ์๋ ๋
๋์ ๋ํด์๋ง ๊ณ ๋ คํ๋ค)
df3 = df.iloc[:2,:4]
df4 = df.iloc[5:,3:]
display(df3)
display(df4)
Ans = pd.concat([df3,df4],join='inner')
Ans
โ df3๊ณผ df4 ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ฐ์ดํฐ ํ๋ ์์ผ๋ก ํฉ์น๊ธฐ
# df3๊ณผ df4 ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ฐ์ดํฐ ํ๋ ์์ผ๋ก ํฉ์ณ๋ผ. ๋ชจ๋ ์ปฌ๋ผ์ ํฌํจํ๊ณ , ๊ฒฐ์ธก์น๋ 0์ผ๋ก ๋์ฒดํ๋ค
Ans = pd.concat([df3,df4],join='outer').fillna(0)
Ans
โ df5๊ณผ df6 ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ฐ์ดํฐ ํ๋ ์์ผ๋ก mergeํจ์๋ฅผ ์ด์ฉํ์ฌ ํฉ์น๊ธฐ (Algeria์ปฌ๋ผ์ key๋ก ํ๊ณ ๋ ๋ฐ์ดํฐ ๋ชจ๋ ํฌํจํ๋ ๋ฐ์ดํฐ๋ง ์ถ๋ ฅ)
# df5๊ณผ df6 ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ฐ์ดํฐ ํ๋ ์์ผ๋ก mergeํจ์๋ฅผ ์ด์ฉํ์ฌ ํฉ์ณ๋ผ. Algeria์ปฌ๋ผ์ key๋ก ํ๊ณ ๋ ๋ฐ์ดํฐ ๋ชจ๋ ํฌํจํ๋ ๋ฐ์ดํฐ๋ง ์ถ๋ ฅํ๋ผ
df5 = df.T.iloc[:7,:3]
df6 = df.T.iloc[6:,2:5]
display(df5)
display(df6)
Ans = pd.merge(df5,df6,on='Algeria',how='inner')
Ans
โ df5๊ณผ df6 ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ฐ์ดํฐ ํ๋ ์์ผ๋ก mergeํจ์๋ฅผ ์ด์ฉํ์ฌ ํฉ์น๊ธฐ (Algeria์ปฌ๋ผ์ key๋ก ํ๊ณ ํฉ์งํฉ์ผ๋ก ํฉ์น๊ธฐ)
# df5๊ณผ df6 ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ฐ์ดํฐ ํ๋ ์์ผ๋ก mergeํจ์๋ฅผ ์ด์ฉํ์ฌ ํฉ์ณ๋ผ.
# Algeria์ปฌ๋ผ์ key๋ก ํ๊ณ ํฉ์งํฉ์ผ๋ก ํฉ์น๊ธฐ
Ans = pd.merge(df5,df6,on='Algeria',how='outer')
Ans
๋ฐ์ํ