Pandas:如何将列移动到 dataframe 前面


您可以使用以下方法在 pandas DataFrame 中向前移动列:

方法一:向前移动一列

 df = df[[' my_col '] + [x for x in df. columns if x != ' my_col ']]

方法2:向前移动多列

 cols_to_move = [' my_col1 ', ' my_col2 ']

df = df[cols_to_move + [x for x in df. columns if x not in cols_to_move]]

以下示例展示了如何将每种方法与以下 pandas DataFrame 一起使用:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

示例 1:向前移动一列

以下代码显示了如何将“helpers”列移动到 DataFrame 的前面:

 #move 'assists' column to front
df = df[[' assists '] + [x for x in df. columns if x != ' assists ']]

#view updated DataFrame
print (df)
   assists team points rebounds
0 5 A 18 11
1 7 B 22 8
2 7 C 19 10
3 9 D 14 6
4 12 E 14 6
5 9 F 11 5
6 9 G 20 9
7 4 H 28 12

“support”列被移至 DataFrame 的前面,所有其他列保持相同的顺序。

示例 2:向前移动多列

下面的代码展示了如何将“points”和“bounces”列移动到DataFrame的前面:

 #define columns to move to front
cols_to_move = [' points ', ' rebounds ']

#move columns to front
df = df[cols_to_move + [x for x in df. columns if x not in cols_to_move]]

#view updated DataFrame
print (df)

   points rebounds team assists
0 18 11 A 5
1 22 8 B 7
2 19 10 C 7
3 14 6 D 9
4 14 6 E 12
5 11 5 F 9
6 20 9 G 9
7 28 12 H 4

“points”和“bounces”列都已移至 DataFrame 的前面。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

如何将列插入 Pandas DataFrame
如何删除 Pandas 中的索引列
如何在 Pandas 中合并两列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注