我想从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()
当您从代码中获得错误时,将有助于提出实际的回溯,特别是指示示例代码的哪一行导致错误的部分
当您调用一个返回多个值的函数时,可以将其“解包”为单个变量
ValueError: too many values to unpack (expected 2)
意味着您调用了一个只返回单个值的函数,但您试图将返回值解压为两个变量例如,考虑这个小Python脚本:
运行时:
更一般的错误消息使它更清楚一些。例如,如果您尝试调用
x,y,z = return_2_vals()
,您将得到相关问题 更多 >
编程相关推荐