如何在 pandas 中按名称选择列(3 个示例)


您可以使用以下方法在 pandas DataFrame 中按名称选择列:

方法一:按名称选择列

 df. loc [:, ' column1 ']

方法2:按名称选择多列

 df. loc [:,[' column1 ',' column3 ',' column4 ']]

方法 3:按名称选择范围中的列

 df. loc [:, ' column2 ':' column4 ']

以下示例展示了如何在实践中通过以下 pandas DataFrame 使用这些方法:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' mavs ': [10, 12, 14, 15, 19, 22, 27],
                   ' cavs ': [18, 22, 19, 14, 14, 11, 20],
                   ' hornets ': [5, 7, 7, 9, 12, 9, 14],
                   ' spurs ': [10, 12, 14, 13, 13, 19, 22],
                   ' net ': [10, 14, 25, 22, 25, 17, 12]})

#view DataFrame
print (df)

   mavs cavs hornets spurs nets
0 10 18 5 10 10
1 12 22 7 12 14
2 14 19 7 14 25
3 15 14 9 13 22
4 19 14 12 13 25
5 22 11 9 19 17
6 27 20 14 22 12

示例 1:按名称选择列

以下代码显示了如何选择 DataFrame 中的“spurs”列:

 #select column with name 'spurs'
df. loc [:, ' spurs ']

0 10
1 12
2 14
3 13
4 13
5 19
6 22
Name: spurs, dtype: int64

仅返回“spurs”列中的值。

示例 2:按名称选择多列

以下代码显示了如何在 DataFrame 中选择 cavs、spurs 和 net 列:

 #select columns with names cavs, spurs, and nets
df. loc [:, [' cavs ', ' spurs ', ' nets ']]

        cavs spurs nets
0 18 10 10
1 22 12 14
2 19 14 25
3 14 13 22
4 14 13 25
5 11 19 17
6 20 22 12

仅返回 cavs、spurs 和 net 列的值。

示例 3:按名称选择范围中的列

以下代码显示了如何选择 DataFrame 中名称“hornets”和“net”之间的所有列:

 #select all columns between hornets and nets
df. loc [:, ' hornets ': ' nets ']

        hornets spurs nets
0 5 10 10
1 7 12 14
2 7 14 25
3 9 13 22
4 12 13 25
5 9 19 17
6 14 22 12

返回名称“hornets”和“net”之间的所有列。

其他资源

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

Pandas:如何将列移动到 DataFrame 前面
Pandas:如何检查列是否包含字符串
Pandas:如何向 DataFrame 添加空列(3 个示例)

添加评论

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