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
我有一个这样的 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