#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 — аналогичное решение в последнем абзаце в примере