dataframe数据按行做线性拟合
转载:https://blog.csdn.net/m0_37324740/article/details/79529963
数据形式:
目的:
对每一行进行线性拟合,计算斜率和评估斜率的不确定性。
方法:调用python的sklearn包中的线性回归模型计算
关键步骤:将dataframe数据类型转换成矩阵。
一、如果只是单纯计算trend,即斜率
import os
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
from pandas import DataFrame,Series
from sklearn import linear_modeldf = pd.read_excel(r'./1.xlsx')X = np.array([[2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020]]).T
regr = linear_model.LinearRegression()
trend = []for i in range(0,376):y = df.iloc[i,:]model = regr.fit(X,y)trend.append(model.coef_)trend1 = []
for i in trend:for j in i:trend1.append(j)
trend2 = Series(trend1) wl_trend = pd.concat([df,trend2],axis=1)
# print(wl_trend)
wl_trend.to_excel('./2.xlsx', index=False)
print('done!')
参考资料:https://blog.csdn.net/m0_37324740/article/details/79529963
二、需要计算评估模型的参数,如斜率标准差、p值、t值等
需要调用import statsmodels.api as sm
trend = []
bse = []
pvalues = []
tvalues = []for i in range(0,376):y = df.iloc[i,:]# model = regr.fit(X,y)model = sm.OLS(y, X).fit()trend.append(model.params)#coef_bse.append(model.bse)pvalues.append(model.pvalues)tvalues.append(model.tvalues)trend1 = []
for i in trend:for j in i:trend1.append(j)
trend2 = Series(trend1) bse1 = []
for i in bse:for j in i:bse1.append(j)
bse2 = Series(bse1) pvalues1 = []
for i in pvalues:for j in i:pvalues1.append(j)
pvalues2 = Series(pvalues1) tvalues1 = []
for i in tvalues:for j in i:tvalues1.append(j)
tvalues2 = Series(tvalues1) wl_trend = pd.concat([df,trend2,bse2,pvalues2,tvalues2],axis=1)
# print(wl_trend)
wl_trend.to_excel('./3.xlsx', index=False)
print('done!')
model = sm.OLS(y, X).fit()
print(model.summary())
dataframe数据按行做线性拟合相关推荐
- Prism如何做线性拟合
Prism如何做线性拟合 https://mengte.online/archives/6590 1.导入数据 2.Analysis: 3.Plot: 注意2和3的顺序不要搞反了,搞反了的话,在Plo ...
- python数据拟合怎么做的,python如何实现数据的线性拟合
实验室老师让给数据画一张线性拟合图.不会matlab,就琢磨着用python.参照了网上的一些文章,查看了帮助文档,成功的写了出来 这里用到了三个库 import numpy as np import ...
- python线性拟合怎么做_python如何实现数据的线性拟合
实验室老师让给数据画一张线性拟合图.不会matlab,就琢磨着用python.参照了网上的一些文章,查看了帮助文档,成功的写了出来 这里用到了三个库 import numpy as np import ...
- python曲线拟合_python如何实现数据的线性拟合
实验室老师让给数据画一张线性拟合图.不会matlab,就琢磨着用python.参照了网上的一些文章,查看了帮助文档,成功的写了出来 这里用到了三个库 import numpy as np import ...
- 基于matlab数据线性拟合回归
1 选题背景及意义 在统计学中,线性回归是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析.这种函数是一个或多个称为回归系数的模型参数的线性组合.只有一个自变 ...
- 使用Origin根据数据的二维图(单x,单y)进行线性拟合
1.对上周画的二维图进行线性拟合,如下gif所示 2.修改拟合后的图像 3.对参数进行解释 第一行 Equation y=a+bx: 拟合的方程的形式是一元一次方程 第二行 Plot ...
- Python实现数据的线性拟合
Python实现对实验数据的函数拟合 数据拟合会涉及到多种拟合方法,本文旨在把本人可能使用到的做一个总结 持续更新ing 1. List item # 线性拟合from scipy import op ...
- pandas索引复合索引dataframe数据、索引其中一个水平(level)的所有数据行(index all rows in a level)
pandas索引复合索引dataframe数据.索引其中一个水平(level)的所有数据行(index all rows in a level) 目录
- pandas索引复合索引dataframe数据、索引dataframe中指定行和指定列交叉格子的数据内容(getting a specific value)、使用元组tuple表达复合索引的指定行
pandas索引复合索引dataframe数据.索引dataframe中指定行和指定列交叉格子的数据内容(getting a specific value).使用元组tuple表达复合索引的指定行 目 ...
- pandas使用query函数查询指定日期索引对应的dataframe数据行(select rows using a single date in dataframe)
pandas使用query函数查询指定日期索引对应的dataframe数据行(select rows using a single date in dataframe) 目录 pandas使用qu
最新文章
- 如何在Java中检查字符串是否为数字
- Linux_基础指令
- 史上最全的Linux常用——目录和文件管理命令——收藏这一篇就够了!(超全,超详细)
- React-Router ---withRouter
- JAVA经典题--死锁案例
- [css] 解释下 CSS sprites的原理和优缺点分别是什么
- 线程的特点 java 1615387415
- 中考计算机考试试题山西注意事项,2021年山西省中考考试注意事项(3)
- Google Chrome谷歌旧版本下载
- JAVA 连接sftp服务器,用户名密码方式链接(类似于FinalShell以ssh方式链接LINUX)
- 【Matlab印刷数字识别】OCR识别系统【含源码 438期】
- 再不学点东西我们就老了
- 元宇宙掀起新浪潮,觅伊打造沉浸式社交场景
- HDR视频色调映射算法(之二:Adaptive temporal TMO)
- pdf转excel,如何把pdf转换成excel表格
- 吉时利Keithley软件2600系列2635B|2636B|2651A|2657A NS-SourceMeter源表软件
- 评论一下《PPT演义》
- qt实现调用电脑摄像头
- idea报错:系统找不到指定路径
- sysstat使用及字段说明
热门文章
- php+模版取余,PHP取余函数介绍MOD(x,y)与x%y_php技巧
- 谁设计python_如果你有设计师朋友,请对TA好一些...
- 爬虫实例十二 沪深证券股票全站数据爬取
- php jpeg不支持,php jpeg不支持怎么办
- mysql安装 linux rpm_linux MySQL5.7 rpm安装
- python开发k8s管理平台_将Python项目部署到Kubernetes
- 谷粒商城:15.商城业务 — 商品上架
- HTML:hr横线改变颜色
- cesium:获取点击实体点的坐标位置
- Openlayer:学习笔记之控件