Python 绘制由缺失值组成的数据集的平均线性回归

Python 绘制由缺失值组成的数据集的平均线性回归,python,pandas,numpy,matplotlib,Python,Pandas,Numpy,Matplotlib,我试着用计算机绘制一个线性图 m、 b=np。多边形拟合(x0,y0,1)函数,但当我打印m2,b2,m3,b3时,我得到nan。从空值。如何修复此问题?您似乎输入了一个错误 idxy1=np.isfinite(col1)和np.isfinite(col2) idxy2=np.isfinite(col1)和np.isfinite(col3) idxy3=np.isfinite(col1)和np.isfinite(col4) m1,b1=np.polyfit(col1[idxy1],col2[id

我试着用计算机绘制一个线性图
m、 b=np。多边形拟合(x0,y0,1)函数,但当我打印m2,b2,m3,b3时,我得到nan。从空值。如何修复此问题?

您似乎输入了一个错误

idxy1=np.isfinite(col1)和np.isfinite(col2)
idxy2=np.isfinite(col1)和np.isfinite(col3)
idxy3=np.isfinite(col1)和np.isfinite(col4)
m1,b1=np.polyfit(col1[idxy1],col2[idxy1],1)
m2,b2=np.polyfit(col1[idxy2],col2[idxy2],1)#
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression

col1 = [2011.005, 2012.6543, 2013.3456, 2014.7821, 2015.3421, 2016.7891, 2017.0173, 2018.1974]
col2 = [1.4356, "", 5.32245, 6.542, 7.567, .77558, "", ""]
col3 = [1.3345, 2.345, "", 5.356, 3.124, 6.12, "", ""]
col4 = [0.67, 4.235, "", 6.78, "", "", 9.56, ""]

col1 = pd.to_numeric(col1, errors='coerce')
col2 = pd.to_numeric(col2, errors='coerce')
col3 = pd.to_numeric(col3, errors='coerce')
col4 = pd.to_numeric(col4, errors='coerce')

idxy1 = np.isfinite(col1) & np.isfinite(col2) 
idxy2 = np.isfinite(col1) & np.isfinite(col3)
idxy3 = np.isfinite(col1) & np.isfinite(col4)

m1,b1 = np.polyfit(col1[idxy1], col2[idxy1], 1)
m2,b2 = np.polyfit(col1[idxy2], col2[idxy2], 1)
m3,b3 = np.polyfit(col1[idxy3], col2[idxy3], 1)

print(pd.isna(col2))
plt.figure()
plt.legend()
plt.show()