Python: Pandas Dataframe select row by given index

Python: Pandas Dataframe select row by given index

我有一个这样的 pandas 数据框:

data = {'Index':[1a,2a,3a,4a], 'col1':[20.1,20.2,20.3,20.4], 'col2': [30.2,30.5,30.7,30.5]}
df1 = pd.DataFrame(data)
df1 = df1.set_index('Index')
print(df1)

输出:

        col1  col2
Index            
1a      20.1  30.2
2a      20.2  30.5
3a      20.3  30.7
4a      20.4  30.5

现在我的目标是 select 具有特定索引的行,比如 2a,所以输出应该是:

        col1  col2
Index            
2a      20.2  30.5

我尝试了以下命令(参见 this 教程):

df1.loc[df1['Index'] == 2]

但由于某种原因它不起作用,为什么?

只需使用.loc:

>>> df.loc['2a']
col1    20.2
col2    30.5
Name: 2a, dtype: float64

>>> df.loc['2a', 'col1']
20.2