写一个读取excel表格中一列数据并把数据进行线性拟合可视化的python代码
时间: 2023-02-06 07:51:39 浏览: 182
好的,这是一个使用 Python 读取 Excel 表格中一列数据并把数据进行线性拟合可视化的代码示例:
首先,需要安装所需的库:
```python
!pip install openpyxl matplotlib numpy scipy
```
然后,使用 openpyxl 库来读取 Excel 表格中的数据:
```python
import openpyxl
# 打开 Excel 文件
workbook = openpyxl.load_workbook('data.xlsx')
# 选择要读取的工作表
worksheet = workbook['Sheet1']
# 读取数据
data = []
for row in worksheet.iter_rows(min_row=2, max_col=1, max_row=worksheet.max_row):
data.append(row[0].value)
# 关闭 Excel 文件
workbook.close()
```
接下来,使用 numpy 库来计算线性拟合的参数:
```python
import numpy as np
# 转化为 numpy 数组
x = np.array(range(len(data)))
y = np.array(data)
# 计算线性拟合的参数
A = np.vstack([x, np.ones(len(x))]).T
m, c = np.linalg.lstsq(A, y, rcond=None)[0]
```
最后,使用 matplotlib 库来可视化线性拟合结果:
```python
import matplotlib.pyplot as plt
# 绘制图像
plt.plot(x, y, 'o', label='原数据')
plt.plot(x, m*x+c, 'r', label='拟合直线')
plt.legend()
plt.show()
```
完整的代码如下:
```python
!pip install openpyxl matplotlib numpy scipy
import openpyxl
import numpy as np
import matplotlib.pyplot as plt
# 打开 Excel 文件
workbook = openpyxl.load_workbook('data.xlsx')
# 选择要读取
阅读全文