IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Python3 DataFrame数据排序与排名 -> 正文阅读

[人工智能]Python3 DataFrame数据排序与排名

pandas的DataFrame极大地简化了数据分析过程中一些烦琐操作,它是一个表格型的数据结构, 每一列代表一个变量,而每一行则是一条记录。简答地说,DataFrame是共享同一个index 的Series的集合。DataFrame数据的排序分为三类:1、对索引排序sort_index();2、对值进行排序sort_values();3、是对值进行排名rank()。

(1)、索引排名
??对于索引排序,涉及到对行的索引对列的索引进行升序或者降序排序函数df.sort_index(axis= , ascending= , inplace=),需要特别注意这三个参数。axis表示对行的索引排序,还是对列的索引进行排序;ascending表示升序,还是降序操作。


dates = ['2022-01-01','2022-09-02','2022-01-03','2022-01-04','2022-01-05','2022-01-06']
dates=pd.to_datetime(dates)
df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))

#默认按照行的索引进行升序排序
df.sort_index()
Out[48]: 
                   A         B         C         D
2022-01-01  0.096360  0.390240 -1.272864 -0.248937
2022-01-03  2.085985 -1.026902  0.089471  0.049253
2022-01-04  0.459439  1.356780 -0.327171  0.735977
2022-01-05  0.625936 -1.434436  0.289198 -1.308614
2022-01-06  0.306561 -0.718824 -1.639355 -0.287135
2022-09-02  0.043364  2.206094  0.853971  2.067719

#按照列的索引进行降序排序
df.sort_index(axis=1,ascending=False)
Out[49]: 
                   D         C         B         A
2022-01-01 -0.248937 -1.272864  0.390240  0.096360
2022-09-02  2.067719  0.853971  2.206094  0.043364
2022-01-03  0.049253  0.089471 -1.026902  2.085985
2022-01-04  0.735977 -0.327171  1.356780  0.459439
2022-01-05 -1.308614  0.289198 -1.434436  0.625936
2022-01-06 -0.287135 -1.639355 -0.718824  0.306561

(2)、对值排序
??对于值排名,使用函数df.sort_values(by= , axix=,ascending= , inplace=,na_postion=)
??注意:axis=0表示按照行进行排名,axis=1表示按照列进行排名,默认0;ascending=True表示升序,ascending=False表示降序,默认True.na_position参数用于设定缺失值的显示位置,first表示缺失值显示在最前面;last表示缺失值显示在最后面

df = pd.DataFrame(np.random.randn(6,4),index=['a','b','c','d','e','f'],columns=list('ABCD'))

#对单列的值进行降序排序,其他列不参与排序。
df.sort_values(by='A',axis=0,ascending=False,inplace=True)

#对单行的值进行降序排序,其他行不参与排序
f.sort_values(by='b',axis=1,ascending=False,inplace=True)

#对多列的值进行降序排序
df.sort_values(by='A',axis=0,ascending=False,inplace=True)

df.loc['g','A']=1
df.sort_values(by='A',axis=0,ascending=False,inplace=True,na_position="first")

(3)、对值排名

????????对于值排名,使用函数rank(axis= , ascending= ,method,na_position=),。
??注意:axis=0表示按照行进行排名,axis=1表示按照列进行排名,默认0;ascending=True表示升序,ascending=False表示降序,默认True.method='average'是表示值相等时,都取平均排序作为排名,method='min'表示值相等时,都取最小排序作为排名,method='max'表示值相等时,都取最大排序作为排名,method='first'表示值相等时,自然位置前者排前面,method='dense'表示值相等时,都取最小排序作为排名,且后续排名仅跟+1。

df['A']
Out[74]: 
a    0.0
b    1.0
c    1.0
d    1.0
e    1.0
f    1.0
g    3.0
h    3.0

df['A'].rank()
Out[75]: 
a    1.0
b    4.0
c    4.0
d    4.0
e    4.0
f    4.0
g    7.5
h    7.5

df['A'].rank(method='first')
Out[76]: 
a    1.0
b    2.0
c    3.0
d    4.0
e    5.0
f    6.0
g    7.0
h    8.0

df['A'].rank(method='average')
Out[77]: 
a    1.0
b    4.0
c    4.0
d    4.0
e    4.0
f    4.0
g    7.5
h    7.5

df['A'].rank(method='min')
Out[78]: 
a    1.0
b    2.0
c    2.0
d    2.0
e    2.0
f    2.0
g    7.0
h    7.0

df['A'].rank(method='max')
Out[79]: 
a    1.0
b    6.0
c    6.0
d    6.0
e    6.0
f    6.0
g    8.0
h    8.0

df['A'].rank(method='dense')
Out[80]: 
a    1.0
b    2.0
c    2.0
d    2.0
e    2.0
f    2.0
g    3.0
h    3.0

结束

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-13 11:44:22  更:2022-05-13 11:46:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:26:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码