pandas 取倒数2,3,4列
时间: 2024-06-15 15:04:04 浏览: 213
在pandas中,可以使用切片操作来取倒数2、3、4列的数据。假设你的数据框名为df,可以使用以下代码来实现:
```python
df.iloc[:, -4:-1]
```
上述代码中,`iloc`函数用于按位置索引选择数据,`:`表示选择所有行,`-4:-1`表示选择倒数第4列到倒数第2列(不包括倒数第1列)的数据。
相关问题
pandas取第一列到倒数第二列数据
可以使用如下代码来取第一列到倒数第二列的数据:
```
import pandas as pd
# 读入数据
df = pd.read_csv('data.csv')
# 取第一列到倒数第二列的数据
result = df.iloc[:, :-1]
```
其中data.csv是数据文件名,result即为所取出的数据。
用python画出excel1表格最后30行的第四十列与excel2表格最后30行倒数的第四列之间“随着行数递增”相关系数的变化曲线
首先需要安装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()
```
阅读全文