728x90
반응형

 티스토리 

데이터 분석을 위한 판다스와 DASK의 활용하기

안녕하세요, 여러분! 오늘은 데이터 분석에 있어서 아주 중요한 두 라이브러리, PANDAS, DASK를 활용하는 방법에 대해 알아보려고 해요. 이 둘을 잘 사용하면 대용량(big size) 빅데이터 분석이 훨씬 수월해진답니다. 그럼, 간단한 예시를 통해 어떻게 활용하는지 살펴볼까요?

1. 코드리뷰

  먼저, 판다스는 데이터 분석과 조작을 위한 아주 강력한 라이브러리에요. 예를 들어, 다음과 같이 간단한 데이터프레임을 생성할 수 있죠.

import pandas as pd

df1 = pd.DataFrame({'a': [1, 2, 3], 'b': ['4', '5', '6'], 'c': [7.0, 8.0, 9.0]})
df2 = pd.DataFrame({'a': ['1', '2', '4'], 'b': [10, 11, 12], 'd': [13.0, 14.0, 15.0], 'f': ['16', '17', '18'], 'g': [19, 20, 21]})

다음으로, 판다스의 데이터프레임을 DASK의 데이터프레임으로 변환할 수 있어요. 다크는 병렬 계산을 위한 라이브러리로, 큰 데이터를 다룰 때 유용해요.

import dask.dataframe as dd

df1 = dd.from_pandas(df1, npartitions=1)
df2 = dd.from_pandas(df2, npartitions=1)

이제, 두 데이터프레임의 'a' 열의 데이터 타입(dtype)을 문자열(str)로 통일한 뒤, 병합하는 작업을 해볼 거에요. 이렇게 하면 두 데이터프레임의 정보를 통합하여 더 유용한 분석을 할 수 있답니다.

아래 클릭하여 코드를 확인. 

더보기

df1['a'] = df1['a'].astype(str)
df2['a'] = df2['a'].astype(str)

merged_df = df1.merge(df2[['a', 'd']], on='a', how='left')

print(merged_df.compute())

 

반응형

이 예시를 통해 판다스와 DASK의 기본적인 사용법을 간단히 알아봤어요. 데이터 분석의 세계는 정말 넓고, 이 두 라이브러리는 그 세계를 탐험하는 데 있어서 강력한 도구랍니다. 여러분도 이런 도구들을 활용해서 다양한 데이터 분석 프로젝트에 도전해보세요!

2. 코드리뷰

이제 이 예제를 확장하여 두 데이터프레임 간의 다른 유형의 조작을 수행하는 추가 예제를 알아 볼게요.

import pandas as pd
import dask.dataframe as dd

# 새로운 예시 데이터프레임 생성
df3 = pd.DataFrame({'x': [10, 20, 30], 'y': ['a', 'b', 'c'], 'z': [0.1, 0.2, 0.3]})
df4 = pd.DataFrame({'x': [20, 30, 40], 'y': ['b', 'c', 'd'], 'k': [3, 4, 5], 'm': ['x', 'y', 'z']})

# dask 데이터프레임으로 변환
df3 = dd.from_pandas(df3, npartitions=1)
df4 = dd.from_pandas(df4, npartitions=1)

# 'x' 열을 기준으로 df3과 df4를 내부 병합(inner join) 예시
inner_merged_df = df3.merge(df4, on='x', how='inner')

# 'y' 열을 기준으로 df3과 df4를 외부 병합(outer join) 예시
outer_merged_df = df3.merge(df4, on='y', how='outer')

# 결과 확인
print("Inner Merged DataFrame:\n", inner_merged_df.compute())
print("\nOuter Merged DataFrame:\n", outer_merged_df.compute())

추가 리뷰는 아래 클릭하여 확인 해보세요~

더보기

이 예제에서는 두 개의 새로운 데이터프레임 df3과 df4를 생성하고, 'x' 열을 기준으로 내부 병합(inner join)을 수행하며, 'y' 열을 기준으로 외부 병합(outer join)을 수행합니다. 내부 병합은 두 데이터프레임 모두에 존재하는 키(열의 값)에 대해서만 행을 병합하는 반면, 외부 병합은 한쪽 또는 양쪽 데이터프레임에 존재하는 모든 키에 대해 행을 병합하고, 매칭되지 않는 행의 경우 결측값으로 채웁니다.

728x90

 

마무리

- 이번 포스팅은 Pandas / Dask 라이브러 에 대해 알아봤습니다.

CostZeroCode

 
 
 

궁금한 사항은 lution2@gmail.com로 문의사항  주시면 답변 드리겠습니다.
감사합니다.

 

 

728x90
반응형

+ Recent posts