浅谈Pandas 排序之后索引的问题

yipeiwu_com5年前Python基础

如下所示:

In [1]: import pandas as pd
 ...: df=pd.DataFrame({"a":[1,2,3,4,5],"b":[5,4,3,2,1]})
In [2]: df
Out[2]: 
 a b
0 1 5
1 2 4
2 3 3
3 4 2
4 5 1
In [3]: df=df.sort_values(by="b") # 按照b列排序
In [4]: df
Out[4]: 
 a b
4 5 1
3 4 2
2 3 3
1 2 4
0 1 5
In [5]: df.loc[0,:] # 按索引来索引所以得到了是排序末位
Out[5]: 
a 1
b 5
Name: 0, dtype: int64
In [6]: df.iloc[0,:] # 按照绝对的索引来索引,所以得到了第一位
Out[6]: 
a 5
b 1
Name: 4, dtype: int64
In [7]: df.iloc[0,"b"] # 因为是绝对位置,所以列的参数不能是列名
ValueError: Location based indexing can only have [integer, integer slice (START point is INCLUDED, END point is EXCLUDED), listlike of integers, boolean array] types
In [8]: df.iloc[0,1] # “b”列的绝对位置是1,所以这就是索引了“b”列
Out[8]: 1
In [9]: df.iloc[0,:]["b"] # 和上述方法是一样的,不过这个更加容易懂一些
Out[9]: 1

以上这篇浅谈Pandas 排序之后索引的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

django-crontab 定时执行任务方法的实现

需求 每天请求一封邮件,并读取该邮件 这个其实可以使用linux 自带了crontab实现,但是毕竟是django 开发。想着不知道有没有方法可以从django 中实现。 简单搜索了下...

Python中getpass模块无回显输入源码解析

本文主要讨论了python中getpass模块的相关内容,具体如下。 getpass模块 昨天跟学弟吹牛b安利Python标准库官方文档的时候偶然发现了这个模块。仔细一看内容挺少的,只有...

详解Python中time()方法的使用的教程

 time()方法返回时间,在UTC时代以秒表示浮点数。 注意:尽管在时间总是返回作为一个浮点数,并不是所有的系统提供时间超过1秒精度。虽然这个函数正常返回非递减的值,就可以在...

在Python中os.fork()产生子进程的例子

例1 import os print 'Process (%s) start...' %os.getpid() pid = os.fork() if pid==0: print...

python django生成迁移文件的实例

关于Django生成迁移文件,我是在虚拟机上完成的 1.创建虚拟环境: 在终端上输入创建python3的虚拟环境 mkvirtualenv -p python3 虚拟环境的名字 在虚拟环...