怡宁2131 发表于 2021-10-4 10:14:39

使用pandas打印dadaframe时出现ValueError的错误

def printData():
    data = getData()    # 气象信息
    weather_data = {data: , data, data, data+"摄氏度", data],
             data: , data, data, data+"摄氏度", data]
             }
    index = ("天气", "风向", "风量", "气温", "日出(落)时间")
    data_frame = pd.DataFrame(data, index=index)
    print(data_frame)
----------------------------------------------------------------------------------
这是天气查询程序的显示部分,但是出现了报错,报错内容如下:
Traceback (most recent call last):
File "F:\python_file\spider_wether.py", line 122, in <module>
    main()
File "F:\python_file\spider_wether.py", line 18, in main
    printData()
File "F:\python_file\spider_wether.py", line 114, in printData
    data_frame = pd.DataFrame(data, index=index)
File "F:\python_file\venv\lib\site-packages\pandas\core\frame.py", line 711, in __init__
    mgr = ndarray_to_mgr(
File "F:\python_file\venv\lib\site-packages\pandas\core\internals\construction.py", line 324, in ndarray_to_mgr
    _check_values_indices_shape_match(values, index, columns)
File "F:\python_file\venv\lib\site-packages\pandas\core\internals\construction.py", line 393, in _check_values_indices_shape_match
    raise ValueError(f"Shape of passed values is {passed}, indices imply {implied}")
ValueError: Shape of passed values is (12, 1), indices imply (5, 1)
        如何解决?
求助求助求助{:10_266:} {:10_266:} {:10_266:}

阿奇_o 发表于 2021-10-4 15:28:25

试着多看看报错信息, 你传入的data是12行1列(12, 1), 但指定的索引是5行1列(5, 1)—— 不兼容!行数要相同!

可以 去掉index(不指定)。。 等等,你的index应该是想作为"列名"吧。。

嗯,你还是回去看看基本的DataFrame的创建方法吧。

怡宁2131 发表于 2021-10-4 15:45:03

阿奇_o 发表于 2021-10-4 15:28
试着多看看报错信息, 你传入的data是12行1列(12, 1), 但指定的索引是5行1列(5, 1)—— 不兼容!行 ...

index是行号
我知道哪出问题了:Dataframe中的元素应该是字典weather_data而不是data
看来我还得细心点
非常感谢!
页: [1]
查看完整版本: 使用pandas打印dadaframe时出现ValueError的错误