Как выровнять по вертикали списки для pandas dataframe в python - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть набор данных следующим образом.

scores = [0.1, 0.2, 0.3]
years = [2001, 2002, 2003]
columns = ['Years', 'Scores']

Я хочу преобразовать эти три списка в кадр данных pandas следующим образом.

   Years Scores
0  2001   0.1
1  2002   0.2
2  2003   0.3

Я использую следующий код.

dataset = pd.DataFrame(data=[scores],index=[years],columns=columns)
print(dataset)

Однако, это дает мне ошибку.

AssertionError: 2 columns passed, passed data had 3 columns

Я думаю, что данные располагаются горизонтально.

Я с радостью предоставлю более подробную информацию, если это необходимо.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Вы можете использовать numpy.column_stack

import pandas as pd
import numpy as np

scores = [0.1, 0.2, 0.3]
years = [2001, 2002, 2003]
columns = ['Years', 'Scores']

df = pd.DataFrame(np.column_stack([years, scores]), index=[years], columns=columns)

      Years  Scores
2001  2001.0     0.1
2002  2002.0     0.2
2003  2003.0     0.3

Чтобы избавиться от значений с плавающей точкой в ​​столбце Years:

df['Years'] = df['Years'].astype(int)

      Years  Scores
2001   2001     0.1
2002   2002     0.2
2003   2003     0.3
0 голосов
/ 12 февраля 2019

Используйте list с zip:

dataset = pd.DataFrame(data=list(zip(years, scores)),columns=columns)
print(dataset)
   Years  Scores
0   2001     0.1
1   2002     0.2
2   2003     0.3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...