如何在 pandas dataframe 中按索引选择列


通常,您可能希望根据索引值选择 pandas DataFrame 中的列。

如果要根据整数索引选择列,可以使用.iloc函数。

如果要根据标签索引选择列,可以使用.loc函数。

本教程提供了如何在实践中使用每个函数的示例。

示例 1:根据整数索引选择列

以下代码显示如何创建 pandas DataFrame 并使用.iloc选择整数索引值为3的列:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'],
                   ' points ': [11, 7, 8, 10, 13, 13],
                   ' assists ': [5, 7, 7, 9, 12, 9],
                   ' rebounds ': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

	team points assists rebounds
0 A 11 5 11
1 To 7 7 8
2 to 8 7 10
3 B 10 9 6
4 B 13 12 6
5 B 13 9 5

#select column with index position 3
df. iloc [:, 3]

0 11
1 8
2 10
3 6
4 6
5 5
Name: rebounds, dtype: int64

我们可以使用类似的语法来选择多列:

 #select columns with index positions 1 and 3
df. iloc [:, [1, 3]]


        rebound points
0 11 11
1 7 8
2 8 10
3 10 6
4 13 6
5 13 5

或者我们可以选择一个范围内的所有列:

 #select columns with index positions in range 0 through 3
df. iloc [:, 0:3]

        team points assists
0 to 11 5
1 To 7 7
2 to 8 7
3 B 10 9
4 B 13 12
5 B 13 9

示例 2:根据标签索引选择列

以下代码演示了如何创建 pandas DataFrame 并使用.loc选择索引标签为“bounces”的列:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'],
                   ' points ': [11, 7, 8, 10, 13, 13],
                   ' assists ': [5, 7, 7, 9, 12, 9],
                   ' rebounds ': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

	team points assists rebounds
0 A 11 5 11
1 To 7 7 8
2 to 8 7 10
3 B 10 9 6
4 B 13 12 6
5 B 13 9 5

#select column with index label 'rebounds'
df. loc [:, ' rebounds ']

0 11
1 8
2 10
3 6
4 6
5 5
Name: rebounds, dtype: int64

我们可以使用类似的语法来选择具有不同索引标签的多个列:

 #select the columns with index labels 'points' and 'rebounds'
df. loc [:,[' points ',' rebounds ']]

	rebound points
0 11 11
1 7 8
2 8 10
3 10 6
4 13 6
5 13 5

或者我们可以选择一个范围内的所有列:

 #select columns with index labels between 'team' and 'assists'
df. loc [:, ' team ':' assists ']

	team points assists
0 to 11 5
1 To 7 7
2 to 8 7
3 B 10 9
4 B 13 12
5 B 13 9

相关: Pandas loc 与 iloc:有什么区别?

其他资源

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

如何在 Pandas DataFrame 中按索引分组
如何在 Pandas DataFrame 中按索引选择行
如何获取 Pandas DataFrame 中的行号
如何删除 Pandas DataFrame 中的索引列

添加评论

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