加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python列表到dataframe – AssertionError

发布时间:2020-12-20 11:57:31 所属栏目:Python 来源:网络整理
导读:我在 python中有一个列表列表.我试图将其转换为数据帧.例如= foo = [ [1,2,3...],[a,b,c...],[aa,bb,cc...]] 这3个列表中的每一个都包含100个元素.我尝试了以下转换为数据帧 – df = pandas.DataFrame(foo,columns=headers) // where headers is ['id','fnam
我在 python中有一个列表列表.我试图将其转换为数据帧.例如=

foo = [
    [1,2,3...],[a,b,c...],[aa,bb,cc...]
]

这3个列表中的每一个都包含100个元素.我尝试了以下转换为数据帧 –

df = pandas.DataFrame(foo,columns=headers)  // where headers is ['id','fname','lname']
df = pandas.DataFrame(foo,columns=[foo[0],foo[1],foo[2]])

但是我收到这个错误 –

AssertionError: 3 columns passed,passed data had 100 columns

解决方法

您可以尝试以下方法.该错误来自于使用pandas.DataFrame构造函数时每个子列表被解释为一行的事实.您可以从标题和列表中创建字典:

import pandas as pd
headers = ['id','name']
df = pd.DataFrame(dict(zip(headers,foo)))

df
#fname  id  lname
#0   a   1     aa
#1   b   2     bb
#2   c   3     cc
#3   d   4     dd
#4   e   5     ee

或转置列表:

df = pd.DataFrame(list(zip(*foo)),columns=headers)

df
#  id   fname   lname
#0  1       a      aa
#1  2       b      bb
#2  3       c      cc
#3  4       d      dd
#4  5       e      ee

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读