Как мне преобразовать список python в фрейм данных pandas с предопределенными столбцами

#python #pandas

#python #pandas

Вопрос:

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

Я попробовал следующий код.

   import pandas as pd
  list = ['jack', '9860', 'datasc', 'vill','0', 'stack']
  df = pd.DataFrame(list, columns= ['name', 'no','job'])
  

Ошибка значения: форма передаваемых значений равна (1, 6), индексы подразумевают (3, 6)

Ответ №1:

Не используйте переменную list , потому что кодовое слово python (встроенное).

Преобразовать list в массив numpy и reshape :

 L = ['jack', '9860', 'datasc', 'vill','0', 'stack']
df = pd.DataFrame(np.array(L).reshape(-1,3), columns= ['name', 'no','job'])
print (df)
   name    no     job
0  jack  9860  datasc
1  vill     0   stack
  

Комментарии:

1. что значит изменить форму (-1,3)

2. @Coder — -1 означает количество элементов N в форме — (Nx3) — это означает, что он создает 3 columns и подсчитывает количество строк по количеству значений в списке.

3. @Coder — аналогичное решение в последнем абзаце в примере