所以我是 python 和数据分析的新手,但我的任务是创建一个散点图。我正在使用的数据集有许多包含 None 值的元素。当我使用 polyfit 方法创建趋势线(最佳拟合线)时,我得到了 Nones 的错误。我尝试过使用列表和 numpy 数组,但结果很糟糕。我也尝试过 masked_array、masked_invalid 等。在多种配置中,但它一直给我一个充满无的数组。有没有一种方法可以创建趋势线,我不需要删除具有 None 值的元素?我需要它们来保持我的绘图尺寸正确。我正在使用 Python 2.7。这是我到目前为止得到的:
import matplotlib.pyplot as plt
import numpy as np
import numpy.ma as ma
import pylab
#The InterpolatedUnivariateSpline method popped up during my endeavor
#to extrapolate the trendline through the gaps in data.
#To be honest, I don't think its doing anything for me...
from scipy.interpolate import InterpolatedUnivariateSpline
fig, ax = plt.subplots(1,1)
ax.scatter(y, dbm, color = 'purple', marker = 'o', s = 100)
plt.xlim(min(y), max(y))
plt.xlabel('Temp - C')
dbm_array = np.asarray(dbm) #dbm and y are lists earlier in the program
y_array = np.asarray(y)
x = np.linspace(min(y), max(y), len(y))
order = 1
s = InterpolatedUnivariateSpline(y, dbm, k=order)
blah = s(x)
plt.plot(y, blah, '--k')
由于某种原因,这给了我没有趋势线的散点图。没有错误,所以我想我已经做到了....提前非常感谢您!