如何访问熊猫系列的最后一个元素?

时间:2019-05-24 08:45:37

标签: python pandas indexing

让我们考虑以下数据框:

import pandas as pd

d = {'col1': [1, 2, 3], 'col2': [3, 4, 5]}
df=pd.DataFrame(data=d)

如果我想访问熊猫系列df['col1']中的第一个元素,我可以简单地转到df['col1'][0]

但是如何访问本系列中的 last 元素? 我尝试过df['col1'][-1],它返回以下错误:

  

KeyError:-1公升

我知道我可以选择类似df['col1'][len(df)-1]的东西,但是为什么在这里无法进行反向索引?

2 个答案:

答案 0 :(得分:3)

对于选择最后一个值,需要Series.ilocSeries.iat,因为df['col1']返回Series

print (df['col1'].iloc[-1])
3
print (df['col1'].iat[-1])
3

或将Series转换为numpy数组,然后选择last:

print (df['col1'].values[-1])
3

或使用DataFrame.ilocDataFrame.iat-但在Index.get_loc之前是列的必要位置:

print (df.iloc[-1, df.columns.get_loc('col1')])
3
print (df.iat[-1, df.columns.get_loc('col1')])
3

或者可以使用索引的最后一个值(不必重复),然后按DataFrame.loc进行选择:

print (df.loc[df.index[-1], 'col1'])
3

答案 1 :(得分:1)

您也可以使用tail

print(df['col1'].tail(1).item())

输出:

3