Pandas 如何在python中将列表与数据框垂直对齐

Pandas 如何在python中将列表与数据框垂直对齐,pandas,list,dataframe,zip,Pandas,List,Dataframe,Zip,我有一个如下的数据集 scores = [0.1, 0.2, 0.3] years = [2001, 2002, 2003] columns = ['Years', 'Scores'] Years Scores 0 2001 0.1 1 2002 0.2 2 2003 0.3 我想将这三个列表转换为一个数据框,如下所示 scores = [0.1, 0.2, 0.3] years = [2001, 2002, 2003] columns = ['Years', 'Sc

我有一个如下的数据集

scores = [0.1, 0.2, 0.3]
years = [2001, 2002, 2003]
columns = ['Years', 'Scores']
   Years Scores
0  2001   0.1
1  2002   0.2
2  2003   0.3
我想将这三个列表转换为一个数据框,如下所示

scores = [0.1, 0.2, 0.3]
years = [2001, 2002, 2003]
columns = ['Years', 'Scores']
   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
我认为这是横向的


如果需要,我很乐意提供更多详细信息。

列表
邮政编码一起使用:

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

您可以使用
numpy.column\u 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
要去除
年份
列中的浮动值:

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

      Years  Scores
2001   2001     0.1
2002   2002     0.2
2003   2003     0.3

是的,但是numpy在这里不是一个好主意,因为将所有值转换为浮点:(啊,是的,我刚才注意到了!让我看看是否有一个简单的解决方法