Python Pandas разбиение текста - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть функция для сохранения 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"


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...