Pandas — Разделение строк с несколькими значениями на новую строку

#pandas

#pandas

Вопрос:

У меня есть фрейм данных из одного столбца. Некоторые строки содержат несколько значений, разделенных запятой. Я хотел бы, чтобы каждая строка имела только одно значение.

Ниже приведено, как выглядит мой фрейм данных :

 0,apples
1,bananas
2,oranges,kiwis
  

Ожидаемый результат:

 apples
bananas
oranges
kiwis
  

Ответ №1:

Настройка примера:

 Import pandas as pd

df = pd.DataFrame({"Apples", "bananas", "oranges, kiwis"})
  

Используя .split()

 df = df.apply(lambda r: r[0].split(','), axis=1)
  

Теперь вам нужно это в списке, вы можете использовать цикл for, но мне нравится понимание списка:

 dlist = [item for row in df for item in row]
  

Теперь вы можете использовать список для создания нового фрейма данных:

 df_out = pd.DataFrame(dlist)