Python Merge, Concat

dpwl·2024년 4월 27일
0

Data Analysis

목록 보기
62/83
df1 = df.iloc[:4,:] # 처음 네 행의 데이터와 모든 열의 데이터 선택
df2 = df.iloc[4:,:] # 네번째 행부터의 데이터와 모든 열의 데이터 선택

display(df1)
display(df2)

Q88. df1과 df2 데이터를 하나의 데이터 프레임으로 합하기

# df1과 df2를 행을 기준으로 합치기
total = pd.concat([df1, df2], axis=0)
Ans = total
Ans

pd.concat() 함수를 사용하여 두 데이터프레임을 수직으로(concatenation) 연결할 수 있다. 여기서 axis=0수직 방향(행)으로 연결하라는 것을 의미한다.

Q89. df3과 df4 데이터를 하나의 데이터 프레임으로 합치기. 둘 다 포함하고 있는 년도에 대해서만 고려하기

df3 = df.iloc[:2,:4]
df4 = df.iloc[5:,3:]

display(df3)
display(df4)
Ans = pd.concat([df3, df4], join='inner')
Ans

pd.concat() 함수를 사용하여 두 데이터프레임을 연결할 수 있다. 여기서 join='inner'은 두 데이터프레임에 공통된 열만을 기준으로 연결하라는 것을 의미한다. 이렇게 하면 두 데이터프레임의 공통 열에 대한 정보만을 포함한 데이터프레임이 생성된다.

Q90. df3과 df4 데이터를 하나의 데이터 프레임으로 합치기. 모든 컬럼이 출력될 수 있도록 고려하기

Ans = pd.concat([df3, df4], join='outer')
Ans

pd.concat() 함수의 join 매개변수를 'outer'로 설정하면, 연결하는 인덱스 집합의 합집합을 사용하여 연결된다. 이 경우에는 두 데이터프레임의 모든 인덱스를 포함하는 결과가 생성된다.

Ans = pd.concat([df3, df4], join='outer').fillna(0)
Ans

pd.concat() 함수로 데이터프레임을 합친 후에 fillna(0)을 사용하여 NULL 값을 0으로 채워넣는다. 이렇게 하면 두 데이터프레임을 하나로 합치면서 NULL 값을 방지할 수 있다.

Q91. df5과 df6 데이터를 하나의 데이터 프레임으로 merge함수를 이용하여 합치기. Algeria 컬럼을 key로 하고 두 데이터 모두 포함하는 데이터만 출력하기

df.set_index('Location', inplace=True)
df5 = df.T.iloc[:7,:3]
df6 = df.T.iloc[6:,2:5]

display(df5)
display(df6)

set_index()는 DataFrame에서 특정 열을 새로운 인덱스로 설정할 때 사용된다. 이를 통해 데이터프레임을 다양한 방식으로 인덱싱할 수 있다.

.T는 DataFrame을 전치(Transpose)하는 메서드로, 행과 열을 서로 바꿔준다. 이를 통해 행 인덱스가 열로, 열 인덱스가 행으로 이동하게 된다.

Ans = pd.merge(df5, df6, on='Algeria', how='inner')
Ans

pd.merge() 함수를 사용하면 두 개의 DataFrame을 특정 열을 기준으로 합칠 수 있다.

  • on 매개변수에는 합치고자 하는 열의 이름을 지정하고, how 매개변수에는 조인 방법을 지정한다.
df.iloc[:7,:3]
df.T.iloc[:7,:3]

Q92. df5과 df6 데이터를 하나의 데이터 프레임으로 merge함수를 이용하여 합치기. Algeria 컬럼을 key로 하고 합집합으로 합치기

Ans =pd.merge(df5, df6, on='Algeria', how='outer').fillna(0)
Ans

`how='outer'는 외부 조인(outer join)을 나타낸다. 외부 조인은 두 DataFRame의 모든 행을 보존하는 방식으로 합친다.

profile
거북선통통통통

0개의 댓글