Как я могу преобразовать элементы из списка в отдельные значения столбцов? - PullRequest
0 голосов
/ 08 мая 2020

Я работаю над созданием фрейма данных в python, и я изо всех сил пытаюсь решить эту проблему. Я пытаюсь анализировать ингредиенты для ухода за кожей и хочу создать фреймворк, который я могу регулярно обновлять, добавляя новые продукты.

Ингредиенты продукта хранятся в виде элементов списка.

В конечном итоге фрейм данных должен выглядеть следующим образом:

product 1 = [ingredient 1, ingredient 2, ingredient 3]

           ingredient 1  ingredient 2  ingredient 3  
product 1    XYZ             XYZ          XYZ  
product 2    XYZ             XYZ          XYZ   
product 3    XYZ             XYZ          XYZ 

Значения XYZ являются элементами из списков что я использую. Как мне с этим справиться? Также важно поддерживать порядок элементов / ингредиентов и убедиться, что они будут правильно назначены как ингредиент 1, являющийся первым элементом в списке, ингредиент 2, являющийся вторым элементом в списке, и т. Д. c ..

Я нашел только решения, в которых элементы были преобразованы в список различных наблюдений, а не в значения столбцов для одного отдельного наблюдения.

Есть ли функция или метод, который я могу использовать для решения этой проблемы проблема?

1 Ответ

2 голосов
/ 08 мая 2020

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

  my_data = np.array([['','ingredient1', 'ingredient2', 'ingredient3'],['product1', 45, 35, 25], ['product2', 44,34,24], ['product3', 43,33,23]])
my_data

который дает вам:

array([['', 'ingredient1', 'ingredient2', 'ingredient3'],
       ['product1', '45', '35', '25'],
       ['product2', '44', '34', '24'],
       ['product3', '43', '33', '23']], dtype='|S11')

Затем вы можете создать фрейм данных на основе ваших данных:

   df = pd.DataFrame(data=my_data[1:,1:],
                  index=my_data[1:,0],
                  columns=my_data[0,1:])
df

и производит:

enter image description here

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