pandas按照列的序号取出列
时间: 2025-01-30 14:52:26 浏览: 53
### 使用 `iloc` 方法根据列索引选择数据
在 Pandas 中,可以使用 `iloc` 函数通过位置(即基于整数的位置)来访问 DataFrame 的子集。这使得可以根据列的序号轻松提取特定列。
对于给定的数据框:
```python
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(20).reshape(5, 4), columns=['a', 'b', 'c', 'd'])
print("原始数据框:")
print(df)
```
要按列索引选择单个或多个列,可采用如下方式:
#### 单个列的选择
如果想要选择第 n 列,则可以通过传递该数值到 iloc 来实现。例如,为了获得第二列('b'),应该这样做:
```python
single_column = df.iloc[:, 1] # 获取第二列
print("\n仅选中的一列:")
print(single_column)
```
这里 `:` 表示取所有的行,而 `1` 是指代第二列的索引[^2]。
#### 多个连续列的选择
当目标是从左至右依次选取若干相邻列时,可以用切片语法完成此操作。比如选出前两列 ('a', 'b') 可以这样写:
```python
multiple_columns = df.iloc[:, :2] # 获取前两列
print("\n选中的多列:")
print(multiple_columns)
```
上述代码片段会返回一个新的 DataFrame,它只包含原表中的前两列。
#### 非连续列的选择
若需挑选不相连的几列出来,可通过提供一个由所需各列索引组成的列表作为参数传入 `iloc` 。假设现在想获取第一列和最后一列:
```python
non_consecutive_columns = df.iloc[:, [0, -1]] # 获取首尾两列
print("\n非连续列:")
print(non_consecutive_columns)
```
这种方法允许灵活地指定任何数量以及任意顺序下的列组合。
阅读全文
相关推荐




















