달나라 노트

Python Pandas : dataframe_image를 사용하여 DataFrame을 image로 저장하기 (save pandas dataframe as an image using dataframe_image) 본문

Python/Python Pandas

Python Pandas : dataframe_image를 사용하여 DataFrame을 image로 저장하기 (save pandas dataframe as an image using dataframe_image)

CosmosProject 2021. 7. 30. 19:00
728x90
반응형

 

 

 

 

dataframe_image library를 이용하면 Pandas의 DataFrame을 image로 저장할 수 있습니다.

 

 

pip install dataframe-image

 

먼저 위처럼 dataframe-image library를 설치합시다.

설치시에는 underscore(_)가 아니라 dash(-)를 써야합니다.

 

 

 

 

 

import pandas as pd
import dataframe_image as dfi

dict_item = {
    'item_id': [1, 1, 3, 4],
    'item_name': ['a', 'a', 'c', 'd'],
    'price': [1000, 2000, 3000, 4000],
    'flag': ['n', 'y', 'y', 'n']
}
df_item = pd.DataFrame(dict_item)

dfi.export(df_item, 'test_image.png', max_cols=-1, max_rows=-1)

위 예시에서는 DataFrame을 생성하고 dataframe_image의 export method를 사용하여 DataFrame을 image로 저장하였습니다.

 

dfi.export(df_item, 'test_image.png', max_cols=-1, max_rows=-1)

export의 첫 번째 인자로는 image로 변환할 DataFrame을 전달합니다.

 

두 번째 인자로는 image file의 이름을 전달합니다. (test_image.png)

 

max_cols option은 DataFrame에서 image로 변환할 column 개수를 제한합니다.

max_cols=-1의 의미는 DataFrame의 모든 column을 image로 변환하겠다는 것입니다.

 

max_rows option은 DataFrame에서 image로 변환할 row 개수를 제한합니다.

max_rows=-1의 의미는 DataFrame의 모든 row를 image로 변환하겠다는 것입니다.

 

위처럼 max_cols, max_rows 값이 필요한 이유는 DataFrame을 이미지로 변환하는 것이니 만큼 결과 image 파일의 용량이 너무 커질 수 있기 때문입니다.

 

 

결과 이미지 파일을 보면 위와 같습니다.

index 번호까지 모두 나오죠.

 

 

 

 

 

 

 

 

import pandas as pd
import dataframe_image as dfi

dict_item = {
    'item_id': [1, 1, 3, 4],
    'item_name': ['a', 'a', 'c', 'd'],
    'price': [1000, 2000, 3000, 4000],
    'flag': ['n', 'y', 'y', 'n']
}
df_item = pd.DataFrame(dict_item)
df_item = df_item.set_index(keys=['item_id', 'item_name'], drop=True, inplace=False)

dfi.export(df_item, 'test_image.png', max_cols=-1, max_rows=-1)

 

위 예시처럼 set_index를 이용해 DataFrame의 index를 변경했습니다.

결과 image에는 index까지 모두 나오기 때문에 변경된 index도 모두 정상적으로 출력되는 것을 알 수 있습니다.

 

 

 

 

- 추가

이미지 파일의 저장 경로를 설정하려면 그냥 원하는 위치의 절대 경로 또는 상대 경로를 파일 이름 앞에 붙여주면 됩니다.

 

dfi.export(df_item, '~/documents/Code/test_image.png', max_cols=-1, max_rows=-1)

dfi.export(df_item, 'result/output_img/test_image.png', max_cols=-1, max_rows=-1)

 

 

 

 

 

 

728x90
반응형
Comments