如何在pandas数据框架中选择多个列

  • Post category:Python

在 Pandas 数据框架中,可以通过 DataFrame 的列名或下标来选择单个或多个列。

选择单个列可以采用 [] 运算符或 . 方法,但选择多个列需要用到 [] 运算符,并传入一个列名列表或下标列表。下面我们将详细说明如何进行多列选择并给出相关实例:

  1. 按列名选择多列

使用 [] 运算符时,只需将要选择的列名放到列表中,例如:

import pandas as pd

data = {'name': ['Tom', 'Jack', 'Mary'],
        'age': [20, 21, 19],
        'gender': ['M', 'M', 'F'],
        'score': [85, 90, 95]}

df = pd.DataFrame(data)
print(df[['name', 'score']])

输出结果为:

   name  score
0   Tom     85
1  Jack     90
2  Mary     95
  1. 按下标选择多列

使用 iloc 方法时,传入的参数为行和列的下标,包含的是列表或切片,例如:

import pandas as pd

data = {'name': ['Tom', 'Jack', 'Mary'],
        'age': [20, 21, 19],
        'gender': ['M', 'M', 'F'],
        'score': [85, 90, 95]}

df = pd.DataFrame(data)
print(df.iloc[:, [0, 3]])

输出结果为:

   name  score
0   Tom     85
1  Jack     90
2  Mary     95

同时,我们可以采用 loc 方法实现按列名选择多列操作,实例如下:

import pandas as pd

data = {'name': ['Tom', 'Jack', 'Mary'],
        'age': [20, 21, 19],
        'gender': ['M', 'M', 'F'],
        'score': [85, 90, 95]}

df = pd.DataFrame(data)
print(df.loc[:, ['name', 'score']])

输出结果为:

   name  score
0   Tom     85
1  Jack     90
2  Mary     95

总之,我们可以根据需要灵活选择方法,实现按列名或下标选择多列的操作。