为了账号安全,请及时绑定邮箱和手机立即绑定

值错误将嵌套列表保存到 DataFrame - Python、Pandas

值错误将嵌套列表保存到 DataFrame - Python、Pandas

米脂 2021-05-30 12:15:36
我正在尝试将嵌套列表发送到数据框,如下所示:import pandas as pdimport numpy as npdef save_data(data):    df = pd.DataFrame(data=[data], columns=['Send/Collect', 'Hospital', 'Courier', 'Kit', 'Manufacturer'])save_data([["One", "Two","Three", "Four", "Five"],           ["One", "Two","Three", "Four", "Five"],           ["One", "Two","Three", "Four", "Five"]])但是,这会导致断言错误如下:断言错误:通过了 5 列,传递的数据有 3 列正如在Git和另一个问题上所见,我尝试按照建议将数据制作成numpy数组,但这现在返回了这个稍微混乱的错误:ValueError:必须通过二维输入在实际代码中,列表的大小会随着固定的列大小而变化,所以我不知道如何解决这个问题!
查看完整描述

2 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

对我来说,[]如果使用嵌套lists 和嵌套列表的最大长度与列数相同(此处为 5),则从 DataFrame 构造函数中删除:


def save_data(data):


    df = pd.DataFrame(data=data, columns=['Send/Collect', 'Hospital',

                                          'Courier', 'Kit', 'Manufacturer'])

    return df


L = [["One", "Two","Three", "Four", "Five"],

     ["One", "Two","Three", "Four", "Five"],

     ["One", "Two","Three", "Four", "Five"]]

df = save_data(L)

print (df)

  Send/Collect Hospital Courier   Kit Manufacturer

0          One      Two   Three  Four         Five

1          One      Two   Three  Four         Five

2          One      Two   Three  Four         Five

您还可以创建检查条件:


def save_data(data):

    if max(len(x) for x in L) == 5:

        df = pd.DataFrame(data=data, columns=['Send/Collect', 'Hospital', 'Courier', 

                                              'Kit', 'Manufacturer'])


    return df


L = [["One", "Two","Three", "Four", "Five"],

     ["One", "Two","Three", "Four", "Five"],

     ["One", "Two","Three", "Four"]]


df = save_data(L)

print (df)

  Send/Collect Hospital Courier   Kit Manufacturer

0          One      Two   Three  Four         Five

1          One      Two   Three  Four         Five

2          One      Two   Three  Four         None


查看完整回答
反对 回复 2021-06-01
?
catspeake

TA贡献1111条经验 获得超0个赞

您从数据中删除括号,例如。


def save_data(data):


    df = pd.DataFrame(data=data, columns=['Send/Collect',

                                          'Hospital',

                                          'Courier',

                                          'Kit',

                                          'Manufacturer'])

    return df


查看完整回答
反对 回复 2021-06-01
  • 2 回答
  • 0 关注
  • 193 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号