Как поместить разрывы строк между элементами списка в одной ячейке данных Pandas? - PullRequest
0 голосов
/ 28 сентября 2019

У меня есть пандас dataframe со столбцом списков строк.Как сделать так, чтобы элементы списка отображались построчно в Пандах в пределах одной строки (и одной и той же ячейки)?

Имея такой фрейм данных:

+-------+-----------------------------------+
| col_a |               col_b               |
+-------+-----------------------------------+
| A     | ['string1', 'string2', 'string3'] |
| B     | ['string4', 'string5', 'string6'] |
+-------+-----------------------------------+

Я хочу, чтобы он отображался так:

+-------+---------+
| col_a |  col_b  |
+-------+---------+
| A     | string1 |
|       | string2 |
|       | string3 |
| B     | string4 |
|       | string5 |
|       | string6 |
+-------+---------+

Примечание. Я хочу, чтобы они были в одной ячейкеПросто добавьте разрывы строк между элементами и, если возможно, удалите квадратные скобки и кавычки.

Я пробовал это:

df['col_b'].apply(lambda x: ('\n'.join(i) for i in x), axis=1)

Но он получает TypeError: <lambda>() got an unexpected keyword argument 'axis'

Ответы [ 2 ]

1 голос
/ 28 сентября 2019

Попробуйте просто:

df['col_b'].apply(lambda x: ('\n'.join(x))

Ваш цикл for выполняет итерации по отдельным строкам внутри списков, которые не объединяют весь список.

0 голосов
/ 29 сентября 2019

Обе эти работы:

df['col_b'].apply(lambda x: '<br>'.join(x)).style

df['col_b'].str.join('<br>').style

Я использую последнее, так как оно короче.

Примечание. Я работаю в блокноте Jupyter, и ему нужно <br> вместо \n, а затем вызвать .style, чтобы отобразить то, что я хочу.

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