gpt4 book ai didi

pandas - 从元组列表创建 Pandas 数据框

转载 作者:行者123 更新时间:2023-12-04 22:44:00 25 4
gpt4 key购买 nike

我看过几个类似的帖子,但它们并没有真正帮助我,因此发布了新帖子。

我想从元组列表中创建下面的 df:

Values         Total  extra
label
Pictionary 0.000000 12
Chess 4.609929 12
Cluedo 8.421986 12

以下是实现它的所有组件:
columns = ['Total, 'extra']

tups = [(u'Pictionary', 0.0, 12)
(u'Chess', 4.6099290780141837, 12)
(u'Cluedo', 8.4219858156028362, 12)]

我失败的尝试:
pd.DataFrame(tups, columns=columns)

错误信息:
AssertionError: 2 columns passed, passed data had 3 columns

最佳答案

我认为您必须为列添加一个值 list然后尝试 list comprehension然后 set_index 第一列,如果需要第一列为 index :

import pandas as pd

columns = ['label', 'Total', 'extra']

tups = [(u'Pictionary', 0.0, 12),
(u'Chess', 4.6099290780141837, 12),
(u'Cluedo', 8.4219858156028362, 12)]

df = pd.DataFrame([x for x in tups], columns=columns)

print df
label Total extra
0 Pictionary 0.000000 12
1 Chess 4.609929 12
2 Cluedo 8.421986 12

df = df.set_index('label')
#if you need set column name
df.columns.name = 'Values'

print df
Values Total extra
label
Pictionary 0.000000 12
Chess 4.609929 12
Cluedo 8.421986 12

或者您可以通过 comment 使用解决方案的 Colonel Beauvel :
import pandas as pd

columns = ['Total', 'extra']

tups = [(u'Pictionary', 0.0, 12),
(u'Chess', 4.6099290780141837, 12),
(u'Cluedo', 8.4219858156028362, 12)]

df = pd.DataFrame(tups, columns=['label']+columns)
print df
label Total extra
0 Pictionary 0.000000 12
1 Chess 4.609929 12
2 Cluedo 8.421986 12

df = df.set_index('label')
df.columns.name = 'Values'
print df
Values Total extra
label
Pictionary 0.000000 12
Chess 4.609929 12
Cluedo 8.421986 12

关于pandas - 从元组列表创建 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35986134/

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