У меня есть функция для сохранения pandas данных в формате png. Работает нормально, но первый столбец данных включает в себя много текста, в png
# the data param is the dataframe
def render_mpl_table(data, col_width=5.0, row_height=1, 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) ])
#saving figure
ax.get_figure().savefig('foo.png')
кажется не очень хорошим Я хочу разделить первый столбец, который содержит много текста на следующую строку, например, на 50 символов. Как я могу это сделать.
Мой фрейм данных. Строки текста, которые я хочу сделать разделить на 2 строки ('\ n'). Просто хочу сделать его читабельным
def timeline_df(data):
id_list=[data.id for d in data]
data_set=pd.DataFrame(id_list,columns=["id"])
data_set["text"]=[tweet.text for tweet in tweets]
data_set["count1"]=[tweet.favorite_count for tweet in tweets]
data_set["count2"]=[tweet.retweet_count for tweet in tweets]
data_set["source"]=[tweet.source for tweet in tweets]
return data_set
Текстовые данные столбцов типа
"some text, some textsome textsome textsome textsome textsome text some textsome text➤ https://some textsome textsome textsome text"
What I want is
"some text, some textsome textsome textsome textsome
textsome text some textsome text➤
https://some textsome textsome textsome text"