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