act*_*ner 4 python dataframe pandas
我有一个Pandas数据帧,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
Run Code Online (Sandbox Code Playgroud)
我知道为了获得第2列的最后5个值,我必须这样做:
df[2].tail()
Run Code Online (Sandbox Code Playgroud)
这将返回值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
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用上述索引感兴趣的col:
In [6]:
df.iloc[-6:-1]['2']
Out[6]:
3 153
4 223
5 166
6 163
7 169
Name: 2, dtype: int64
Run Code Online (Sandbox Code Playgroud)
以下也可以使用,因为它使用列的序号位置
df.iloc[-6:-1,2]
Run Code Online (Sandbox Code Playgroud)
对于语法iloc手段iloc[start:end]在这种情况下,我们可以通过负指数来表示我们想从第6行,从月底开始,并在最后一行结束,但不包括它,这也被称为开,闭区间.
关于切片符号有一个相关的SO问题.
还有python文档
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |