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 中执行其他常见任务: