用python画出excel1表格最后30行的第四十列与excel2表格最后30行倒数的第四列之间“随着行数递增”相关系数的变化曲线
时间: 2023-06-18 09:06:38 浏览: 53
首先需要安装pandas和numpy模块来读取Excel表格数据和计算相关系数。可以使用以下代码进行安装:
```
!pip install pandas numpy
```
然后可以使用以下代码读取Excel表格数据并计算相关系数:
```python
import pandas as pd
import numpy as np
# 读取Excel表格数据
df1 = pd.read_excel('excel1.xlsx', sheet_name='Sheet1')
df2 = pd.read_excel('excel2.xlsx', sheet_name='Sheet1')
# 取最后30行数据
df1 = df1.tail(30)
df2 = df2.tail(30)
# 取第40列和倒数第4列数据
col1 = df1.iloc[:, 39]
col2 = df2.iloc[:, -4]
# 计算相关系数
corrs = []
for i in range(30):
corr = np.corrcoef(col1[:i+1], col2[:i+1])[0, 1]
corrs.append(corr)
```
最后,可以使用matplotlib模块将相关系数的变化曲线画出来:
```python
import matplotlib.pyplot as plt
# 画图
plt.plot(corrs)
plt.xlabel('行数')
plt.ylabel('相关系数')
plt.title('相关系数随着行数递增的变化曲线')
plt.show()
```
完整代码如下:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取Excel表格数据
df1 = pd.read_excel('excel1.xlsx', sheet_name='Sheet1')
df2 = pd.read_excel('excel2.xlsx', sheet_name='Sheet1')
# 取最后30行数据
df1 = df1.tail(30)
df2 = df2.tail(30)
# 取第40列和倒数第4列数据
col1 = df1.iloc[:, 39]
col2 = df2.iloc[:, -4]
# 计算相关系数
corrs = []
for i in range(30):
corr = np.corrcoef(col1[:i+1], col2[:i+1])[0, 1]
corrs.append(corr)
# 画图
plt.plot(corrs)
plt.xlabel('行数')
plt.ylabel('相关系数')
plt.title('相关系数随着行数递增的变化曲线')
plt.show()
```