pandas 把后面的列移到前面
时间: 2023-08-17 10:32:41 浏览: 75
pandas去除重复列的实现方法
在 pandas 中,可以使用以下两种方式将 DataFrame 中某一列移到前面:
1. 使用 `pop` 和 `insert` 方法:
```python
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 将列'C'移到列'A'前面
col_C = df.pop('C')
df.insert(0, 'C', col_C)
print(df)
```
输出结果为:
```
C A B
0 7 1 4
1 8 2 5
2 9 3 6
```
在上面的代码中,我们首先使用 `pop` 方法将列'C'从 DataFrame 中删除并保存到变量 `col_C` 中,然后使用 `insert` 方法将 `col_C` 插入到 DataFrame 的第一个位置(即列'A'的位置)。
2. 使用索引切片和 `reindex` 方法:
```python
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 将列'C'移到列'A'前面
cols = df.columns.tolist()
cols.insert(0, cols.pop(cols.index('C')))
df = df.reindex(columns=cols)
print(df)
```
输出结果为:
```
C A B
0 7 1 4
1 8 2 5
2 9 3 6
```
在上面的代码中,我们首先使用 `columns.tolist()` 将 DataFrame 的列名转换成一个列表 `cols`,然后使用 `pop` 方法将 'C' 列名从 `cols` 中删除并保存到变量 `col_C` 中,再使用 `insert` 方法将 `col_C` 插入到 `cols` 的第一个位置(即列'A'的位置),最后使用 `reindex` 方法重新排列 DataFrame 的列。
阅读全文