我有一个如下的数据集。
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
我认为它可以水平浏览数据。
很高兴在需要时提供更多详细信息。
答案 0 :(得分:2)
将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
答案 1 :(得分:2)
您可以使用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