【问题标题】:Python, Pandas - ValueError: Shape of passed values is (1, 5), indices imply (5, 5)Python,Pandas - ValueError:传递值的形状为 (1, 5),索引暗示 (5, 5)
【发布时间】:2019-01-27 14:39:23
【问题描述】:

我正在尝试捕获一个进入 pandas 数据框的空列表,但出现上述错误:

ValueError: 传递值的形状是 (1, 5),索引意味着 (5, 5)

我目前在这里有一个简单的设置:

if not daily_info:
    daily_info= ["No data found today","No data found today","No data found today","No data found today","No data found today"]
    df = pd.DataFrame(data=daily_info, columns=['Send/Collect', 'Hospital', 'Courier', 'Kit', 'Manufacturer'])
    df = df.assign(Status="Not Started")

这可能看起来类似于this,它询问是否附加现有的 DF,但答案并不能真正帮助我处理不同的上下文。

谁能帮我看看我哪里出错了?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    我认为需要将嵌套的 list 传递给 DataFrame 构造函数 - [daily_info]

    daily_info= ["No data found today","No data found today","No data found today","No data found today","No data found today"]
    df = pd.DataFrame(data=[daily_info], columns=['Send/Collect', 'Hospital', 'Courier', 'Kit', 'Manufacturer'])
    df = df.assign(Status="Not Started")
    print (df)
              Send/Collect             Hospital              Courier  \
    0  No data found today  No data found today  No data found today   
    
                       Kit         Manufacturer       Status  
    0  No data found today  No data found today  Not Started 
    

    【讨论】:

    • 现在出现这个错误:“AssertionError: 5 列已通过,传递的数据有 4 列”仍然说完全一样,没有数字变化
    • @Colleen - 您必须将列表值的数量与列名的列表中的值数量相匹配,如果差异会引发错误。
    • 不,我以为我错过了一些东西-您的代码本身绝对可以正常工作,但是将其添加到 if 语句时,会发生上述错误@jezrael
    • @Colleen - 你能解释更多吗? if not daily_info 好像错了,是True 还是False
    • 当然@jezrael - 它只是一个通过程序更改的列表。那时它是空的,所以是 False,那就是它出错的时候
    猜你喜欢
    • 2020-11-06
    • 2022-08-08
    • 2019-02-01
    • 2018-10-15
    • 2020-05-21
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    相关资源
    最近更新 更多