반응형
다소 이상하게 들리지만 Pandas 콘솔 출력 문자열을 png 사진으로 저장해야합니다. 예를 들면 :
>>> df
sales net_pft ROE ROIC
STK_ID RPT_Date
600809 20120331 22.1401 4.9253 0.1651 0.6656
20120630 38.1565 7.8684 0.2567 1.0385
20120930 52.5098 12.4338 0.3587 1.2867
20121231 64.7876 13.2731 0.3736 1.2205
20130331 27.9517 7.5182 0.1745 0.3723
20130630 40.6460 9.8572 0.2560 0.4290
20130930 53.0501 11.8605 0.2927 0.4369
df.output_as_png (filename = 'df_data.png')
와 같은 방법으로 내부 콘텐츠 위에 표시되는 그림 파일을 생성 할 수 있습니까?
해결 방법
몇 가지 추가 스타일과 함께 matplotlib 테이블 기능을 사용합니다.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import six
df = pd.DataFrame()
df['date'] = ['2016-04-01', '2016-04-02', '2016-04-03']
df['calories'] = [2200, 2100, 1500]
df['sleep hours'] = [2200, 2100, 1500]
df['gym'] = [True, False, False]
def render_mpl_table(data, col_width=3.0, row_height=0.625, font_size=14,
header_color='#40466e', row_colors=['#f1f1f2', 'w'], edge_color='w',
bbox=[0, 0, 1, 1], header_columns=0,
ax=None, **kwargs):
if ax is None:
size = (np.array(data.shape[::-1]) + np.array([0, 1])) * np.array([col_width, row_height])
fig, ax = plt.subplots(figsize=size)
ax.axis('off')
mpl_table = ax.table(cellText=data.values, bbox=bbox, colLabels=data.columns, **kwargs)
mpl_table.auto_set_font_size(False)
mpl_table.set_fontsize(font_size)
for k, cell in six.iteritems(mpl_table._cells):
cell.set_edgecolor(edge_color)
if k[0] == 0 or k[1] < header_columns:
cell.set_text_props(weight='bold', color='w')
cell.set_facecolor(header_color)
else:
cell.set_facecolor(row_colors[k[0]%len(row_colors) ])
return ax
render_mpl_table(df, header_columns=0, col_width=2.0)
참조 페이지 https://stackoverflow.com/questions/19726663
반응형
'파이썬' 카테고리의 다른 글
파이썬 "for line in ..."결과 UnicodeDecodeError : 'utf-8'코덱이 바이트를 디코딩 할 수 없습니다. (0) | 2021.01.03 |
---|---|
파이썬 Center-/middle-align text with PIL? (0) | 2021.01.03 |
파이썬 중첩 된 JSON 데이터 구문 분석 (0) | 2021.01.03 |
파이썬 PHP에서 Python 스크립트 실행 (0) | 2021.01.03 |
파이썬 항목의 길이가 다른 사전에서 데이터 프레임 만들기 (0) | 2021.01.03 |
댓글