【问题标题】:python: ValueError: too many values to unpack (expected 2) data from excellpython:ValueError:太多值无法从excel中解包(预期2)数据
【发布时间】:2021-07-31 03:04:01
【问题描述】:

我想从 excel 中获取数据并在 python 中绘制 2D 内核密度估计,但它显示“ValueError:要解压的值太多(预期 2)”。如何解决?按照编码:

# libraries
import matplotlib.pyplot as plt
from scipy.stats import kde
import pandas as pd
 
# create data
x = pd.read_excel(r'C:\Users\Ezra\Desktop\montex.xlsx')
y = pd.read_excel(r'C:\Users\Ezra\Desktop\montey.xlsx')
 
# Evaluate a gaussian kde on a regular grid of nbins x nbins over data extents
nbins=500
k = kde.gaussian_kde([x,y])
xi, yi = pd.mgrid[x.min():x.max():nbins*100j, y.min():y.max():nbins*100j]
zi = k(pd.vstack([xi.flatten(), yi.flatten()]))
 
# Make the plot
plt.pcolormesh(xi, yi, zi.reshape(xi.shape), shading='auto')
plt.show()
 
# Change color palette
plt.pcolormesh(xi, yi, zi.reshape(xi.shape), shading='auto', cmap=plt.cm.Greens_r)
plt.show()

【问题讨论】:

    标签: python pandas kernel gaussian


    【解决方案1】:

    当您的代码出现错误时,提出实际的回溯会有所帮助,尤其是指出示例代码的哪一行导致错误的部分。

    当你调用一个返回多个值的函数时,你可以将它“解包”成单独的变量。 ValueError: too many values to unpack (expected 2) 表示你调用了一个只返回一个值的函数,但是你试图将返回值解包成两个变量。

    例如,考虑这个小 Python 脚本:

    def returns_1_val(): 
        return 'one'
    
    def returns_2_vals(): 
        return 'one', 'two'
    
    print(returns_2_vals())
    
    # Unpack the return value.
    x,y = returns_2_vals()
    print('x', x)
    print('y', y)
    
    print(returns_1_val())
    
    # This next call fails.  We're "expecting" Python to unpack 2 values into 
    # x and y, but it fails because the function only returned one value.   
    x,y = returns_1_val()
    

    当你运行它时:

    ('one', 'two')
    x one
    y two
    one
    Traceback (most recent call last):
      File "unpack_err.py", line 11, in <module>
        x,y = returns_1_val()
    ValueError: too many values to unpack (expected 2)
    

    更一般的错误消息使其更加清晰。例如,如果你尝试拨打x,y,z = return_2_vals(),你会得到

    ValueError: 没有足够的值来解包(预期 3,得到 2)

    【讨论】:

      猜你喜欢
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      • 1970-01-01
      • 2019-05-08
      • 2019-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多