Python:在跳过最后一个数据帧后,如何获取数据帧中的前5个值?
我有一个熊猫数据框,df如下:Python:在跳过最后一个数据帧后,如何获取数据帧中的前5个值?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个熊猫数据框,df如下: 0 1 2 0 k86e 201409 180 1 k86e 201410 154 2 k86e 201411 157 3 k86e 201412 153 4 k86e 201501 223 5 k86e 201502 166 6 k86e 201503 163 7 k86e 201504 169 8 k86e 201505 157 我知道为了得到第2列的最后5个值,我必须: d
0 1 2
0 k86e 201409 180
1 k86e 201410 154
2 k86e 201411 157
3 k86e 201412 153
4 k86e 201501 223
5 k86e 201502 166
6 k86e 201503 163
7 k86e 201504 169
8 k86e 201505 157
我知道为了得到第2列的最后5个值,我必须:
df[2].tail()
这将返回值157、169、163、166、233
但是,我想跳过最后一个值,即=157,并获取157之前的最后五个值,例如169、163、166、233、153
我该怎么做
提前谢谢 使用负索引并将其传递给
iloc
以对感兴趣的行进行切片:
In [5]:
df.iloc[-6:-1]
Out[5]:
0 1 2
3 k86e 201412 153
4 k86e 201501 223
5 k86e 201502 166
6 k86e 201503 163
7 k86e 201504 169
然后,您可以使用上述方法对感兴趣的列进行索引:
In [6]:
df.iloc[-6:-1]['2']
Out[6]:
3 153
4 223
5 166
6 163
7 169
Name: 2, dtype: int64
以下内容也适用,因为它使用列的序号位置
df.iloc[-6:-1,2]
iloc
的语法意味着iloc[start:end]
在这种情况下,我们可以传递一个负索引,表示我们希望从第6行开始,并在最后一行结束,但不包括它,这也称为打开、关闭间隔
关于切片符号有一个相关的概念
还有
如果只需要这些值:
df.iloc[-6:-1,2].values
Out[64]: array([153, 223, 166, 163, 169], dtype=int64)
谢谢你能解释一下iloc[-6:-1,2]到底做什么吗?谢谢!你能解释一下iloc[-6:-1]到底做什么吗?
df.iloc[-6:-1,2].values
Out[64]: array([153, 223, 166, 163, 169], dtype=int64)