如何在 pandas 中选择多列(带有示例)


您可以使用三种基本方法从 pandas DataFrame 中选择多个列:

方法一:按索引选择列

 df_new = df. iloc [:,[0,1,3]]

方法2:选择索引范围内的列

 df_new = df. iloc [:, 0:3]

方法 3:按名称选择列

 df_new = df[[' col1 ', ' col2 ']]

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' blocks ': [4, 7, 7, 6, 5, 8, 9, 10]})

#view DataFrame
df

	points assists rebounds blocks
0 25 5 11 4
1 12 7 8 7
2 15 7 10 7
3 14 9 6 6
4 19 12 6 5
5 23 9 5 8
6 25 9 9 9
7 29 4 12 10

方法一:按索引选择列

以下代码显示如何选择索引位置 0、1 和 3 处的列:

 #select columns in index positions 0, 1, and 3
df_new = df. iloc [:,[0,1,3]]

#view new DataFrame
df_new

        points assists blocks
0 25 5 4
1 12 7 7
2 15 7 7
3 14 9 6
4 19 12 5
5 23 9 8
6 25 9 9
7 29 4 10

请注意,索引位置 0、1 和 3 处的列已被选中。

注意:pandas DataFrame 的第一列位于位置 0。

方法2:选择索引范围内的列

以下代码显示如何选择索引范围 0 到 3 中的列:

 #select columns in index range 0 to 3
df_new = df. iloc [:, 0:3]

#view new DataFrame
df_new

        points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

请注意,位于范围 (3) 最后一个值中的列将不会包含在输出中。

方法 3:按名称选择列

以下代码显示了如何按名称选择列:

 #select columns called 'points' and 'blocks'
df_new = df[[' points ', ' blocks ']]

#view new DataFrame
df_new

        point blocks
0 25 4
1 12 7
2 15 7
3 14 6
4 19 5
5 23 8
6 25 9
7 29 10

其他资源

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

如何列出 Pandas 中的所有列名称
如何删除 Pandas 中的列
如何在 Pandas 中将索引转换为列

添加评论

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