gpt4 book ai didi

python - 如何在 python 中将列表列表转换为 Pandas 数据框

转载 作者:太空宇宙 更新时间:2023-11-04 00:04:30 25 4
gpt4 key购买 nike

我有一个列表如下,需要将其转换为 pandas 数据框。

mylist = [[2000, 0.5, 0.3, 0.8, 0.9, 0.8], [2001, 0.5, 0.6, 0.8, 0.9, 0.9], [2002, 0.5, 0.3, 0.8, 0.8, 0.8], [2003, 0.9, 0.9, 0.9, 0.9, 0.8]]
columns = ['year', 'score_1', 'score_2', 'score_3', 'score_4', 'score_5']

我希望数据框如下所示。

    year score_1 score_2 score_3 score_4 score_5
0 2000 0.5 0.3 0.8 0.9 0.8
1 2001 0.5 0.6 0.8 0.9 0.9
2 2002 0.5 0.3 0.8 0.8 0.8
3 2003 0.9 0.9 0.9 0.9 0.8

目前,我正在遵循以下代码。但它需要将我原来的“mylist”数据重组为“年”和“分数”。

pd.DataFrame(data=[scores],index=[year],columns=columns)

因此,我想知道在 pandas 中是否有任何简单的方法可以做到这一点。

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

最佳答案

如果只需要列传递mylist:

df = pd.DataFrame(mylist,columns=columns)
print (df)

year score_1 score_2 score_3 score_4 score_5
0 2000 0.5 0.3 0.8 0.9 0.8
1 2001 0.5 0.6 0.8 0.9 0.9
2 2002 0.5 0.3 0.8 0.8 0.8
3 2003 0.9 0.9 0.9 0.9 0.8

但如果需要按年索引,请使用字典理解 DataFrame.from_dict :

df = pd.DataFrame.from_dict({x[0]: x[1:] for x in mylist},columns=columns[1:], orient='index')
print (df)

score_1 score_2 score_3 score_4 score_5
2000 0.5 0.3 0.8 0.9 0.8
2001 0.5 0.6 0.8 0.9 0.9
2002 0.5 0.3 0.8 0.8 0.8
2003 0.9 0.9 0.9 0.9 0.8

如果需要设置索引名称添加DataFrame.rename_axis :

d = {x[0]: x[1:] for x in mylist}
df = pd.DataFrame.from_dict(d,columns=columns[1:], orient='index').rename_axis(columns[0])
print (df)

score_1 score_2 score_3 score_4 score_5
year
2000 0.5 0.3 0.8 0.9 0.8
2001 0.5 0.6 0.8 0.9 0.9
2002 0.5 0.3 0.8 0.8 0.8
2003 0.9 0.9 0.9 0.9 0.8

关于python - 如何在 python 中将列表列表转换为 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54644342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com