numpy - 如何在减法中去除 NaN?
问题描述
我正在尝试在 python 中执行减法。在 excel 中执行时这是一项简单的任务,但我想在 jupyter notebook 中执行此操作。
下面是我的代码:
import pandas as pd
from sklearn import linear_model
import numpy as np
#Read X1 anomaly
X1= pd.read_csv (r'file\X1.csv')
X1 = pd.DataFrame(X1,columns=['Year','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'])
X1= X1[X1['Year'].between(1984,2020, inclusive="both")]
#X1 = X1["Mar"].describe()
#print (X1)
#Read X2 anomaly
X2= pd.read_csv (r'file\X2.csv')
X2 = pd.DataFrame(X2,columns=['Year','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'])
X2= X2[X2['Year'].between(1984,2020, inclusive="both")]
#X2 = X2["Mar"].describe()
#print (X2)
X1 = X1["Mar"]
X2 = X2["Mar"]
#### my goal is to remove transform X2 by removing their line of fit
regr = linear_model.LinearRegression()
regr.fit(X1.values.reshape(-1,1), X2)
Trend=regr.coef_*X1+regr.intercept_
X3=np.subtract(X2,Trend)
print (X3)
这是数据链接。我想去除 X1 和 X2 之间的线性关系,所以我对 X1 和 X2 进行了回归,然后我想从 X2 中减去趋势线使其成为 X3。但是,X3 中有很多 NaN。请帮助我我应该做什么。
解决方案
我在尝试了代码后找到了这个答案,我想与你分享它们,以防有人遇到类似问题。
regr = linear_model.LinearRegression()
regr.fit(X1.values.reshape(-1,1), X2)
Trend=regr.coef_*X1+regr.intercept_
X3=X2-np.array(Trend)
print (X3)
注意我在减法公式中所做的。谢谢你。
推荐阅读
- microsoft-graph-api - 是否有休息电话来获取 SharePoint 联机或驱动器上文档的项目 ID?
- java - Java对象解构
- c# - Why does Entity Framework try to build an already existing database?
- jquery - Trying to reset zoom w/Google map API when viewed on mobile device
- mysql - MySQL多重连接的正确方法
- java - 在端口忙于另一个 java 程序时使用 arduino 串行监视器?
- python-3.x - 如何使用 PyLatex 用 TikZ 绘制树?
- postgresql - 在Docker容器和DB是Postgres AWS RDS中运行时如何连接Adminer?
- xamarin - 带有 APNS 的 AppCenter Xamarin.ios 配置不发送通知:卡在发送中
- javascript - 如何修复正在扩展(向下)但不折叠(向上)的导航栏?