Pandas:排名與排序
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
一、排序
1.按索引排序
Series
s = Series([3,1,7,0],index=['c','d','a','b'])
s.sort_index()
a 7
b 0
c 3
d 1
dtype: int64
DataFrame
df = DataFrame(np.arange(20).reshape(5,4),index=[3,1,2,4,6],columns=['d','c','a' ,'b'])
print(df)
d c a b
3 0 1 2 3
1 4 5 6 7
2 8 9 10 11
4 12 13 14 15
6 16 17 18 19
行索引排序
print(df.sort_index(ascending=False)) # 降序排列
d c a b
6 16 17 18 19
4 12 13 14 15
3 0 1 2 3
2 8 9 10 11
1 4 5 6 7
列索引排序
print(df.sort_index(axis=1 ))
a b c d
3 2 3 1 0
1 6 7 5 4
2 10 11 9 8
4 14 15 13 12
6 18 19 17 16
2.按值排序
Series
s.sort_values()
b 0
d 1
c 3
a 7
dtype: int64
DataFrame
按多列值進行排序
print(df.sort_values(by=['a','b']))
d c a b 3 0 1 2 3 1 4 5 6 7 2 8 9 10 11 4 12 13 14 15 6 16 17 18 19
按多行值進行排序
print(df.sort_values(by=[2,6],axis=1))
d c a b
3 0 1 2 3
1 4 5 6 7
2 8 9 10 11
4 12 13 14 15
6 16 17 18 19
二、排名
1.對不同的數字進行排名,並給出名次。相同的數字,那麼對排名取均值。
o = Series([7,-5,7,4,2,0,4,7])
o.rank()
0 7.0
1 1.0
2 7.0
3 4.5
4 3.0
5 2.0
6 4.5
7 7.0
dtype: float64
2.相同元素排名不取均值,而是按先後順序給出排名
o.rank(method='first')
0 6.0
1 1.0
2 7.0
3 4.0
4 3.0
5 2.0
6 5.0
7 8.0
dtype: float64
3.相同元素取最大的排名,其餘排名不再使用
o.rank(method='max')
0 8.0
1 1.0
2 8.0
3 5.0
4 3.0
5 2.0
6 5.0
7 8.0
dtype: float64
相關推薦
Pandas:排名與排序
import numpy as np import pandas as pd from pandas import Series,DataFrame 一、排序 1.按索引排序 Series
20172328《程式設計與資料結構》實驗三:查詢與排序
20172328《程式設計與資料結構》實驗三:查詢與排序 課程:《軟體結構與資料結構》 班級: 1723 姓名: 李馨雨 學號:20172328 實驗教師:王志強老師 實驗日期:2018年11月19日-2018年11月25日 必修選修: 必修 一、實驗要求內容 實驗1:
20172327 2018-2019-1 《程式設計與資料結構》實驗三:查詢與排序
20172327 2018-2019-1 《程式設計與資料結構》實驗三:查詢與排序 課程:《Java軟體結構與資料結構》 班級:201723 姓名:馬瑞蕃 學號:20172327 實驗教師:王志強 實驗日期:2018年11月19日 必修/選修:必修 一、實驗內容: 實驗
九度OJ 1014:排名 (排序)
時間限制:1 秒 記憶體限制:32 兆 特殊判題:否 提交:8267 解決:2469 題目描述: 今天的上機考試雖然有實時的Ranklist,但上面的排名只是根據完成的題數
pandas數值計算與排序
以下程式碼是基於python3.5.0編寫的 import pandas food_info = pandas.read_csv("food_info.csv") # --------------
排高低:冒泡與插入排序。不要管別人,自己設計的才是自己的。
算法算法問題的一個分類:排高低。背景:有一系列的值,有大有小,由於某個目的(比如兩兩分組讓最小者的和最大、比如容納最多和不超過某個值的元素、等等),需要先把它們排一下高低。一個數值數組,怎麽給裏面的元素排出高低(比如由小到大地排序)?兩兩比較不是問題,要解決的是這兩個問題:* 誰跟誰比,怎麽安排?* 比後怎麽
VUE:列表的過濾與排序
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>06_列表渲染_過濾與排序</title> </
Android版資料結構與演算法(八):二叉排序樹
本文目錄 前兩篇文章我們學習了一些樹的基本概念以及常用操作,本篇我們瞭解一下二叉樹的一種特殊形式:二叉排序樹(Binary Sort Tree),又稱二叉查詢樹(Binary Search Tree),亦稱二叉搜尋樹。 一、二叉排序樹定義 二叉排序樹或者是一顆空樹,或者是具有下列性質的二叉樹:
Android版數據結構與算法(八):二叉排序樹
delet 概念 最好 指定 性能 and 並且 二叉樹 排列 本文目錄 前兩篇文章我們學習了一些樹的基本概念以及常用操作,本篇我們了解一下二叉樹的一種特殊形式:二叉排序樹(Binary Sort Tree),又稱二叉查找樹(Binary Search Tree),亦稱二
#資料結構與演算法學習筆記#劍指Offer35:數字在排序陣列中出現的次數 + 測試用例(Java、C/C++)
2018.10.24 今天是程式設計師節,但是程式設計師有啥節好過的,還是好好幹活吧~ 這道題也是一道效率題,根據實際情況的不同有兩個比較好用的方法: 方法一:平均複雜度o(n)。二分找到某一個K
堆排序:思路與實現
學習了一下堆排序的思想,分享一下我的理解。 首先介紹一些概念。 堆(heap),最大堆(max heap),最小堆(min heap) 堆是一種特別的樹狀結構,普通的樹結構,沒有對子節點也特別的規定,但堆是一顆完全的樹,除了最底層,上面的每一層都是滿的。 如果一
資料庫原理:MySQL檔案排序演算法與引數
對於不能利用索引避免排序的SQL,資料庫不得不自己實現排序功能以滿足使用者需求,此時SQL的執行計劃中會出現“Using filesort”, 這裡需要注意的是filesort並不意味著就是檔案排序,其實也有可能是記憶體排序,這個主要由sort_buffer_size引數與結果集大小確定。 假
結構體簡單排序練習 題目1014:排名
題目描述: 今天的上機考試雖然有實時的Ranklist,但上面的排名只是根據完成的題數排序,沒有考慮每題的分值,所以並不是最後的排名。給定錄取分數線,請你寫程式找出最後通過分數線的考生,並將他們的成績按降序列印。 輸入: 測試輸入包含若干場考試的資訊。
八大排序演算法實戰:思想與實現
摘要: 所謂排序,就是根據排序碼的遞增或者遞減順序把資料元素依次排列起來,使一組任意排列的元素變為一組按其排序碼線性有序的元素。本文將介紹八種最為經典常用的內部排序演算法的基本思想與實現,包括插入排序(直接插入排序,希爾排序)、選擇排序(直接選擇排序,堆排
【LeetCode & 劍指offer刷題】查詢與排序題5:Merge Sorted Array
【LeetCode & 劍指offer 刷題筆記】目錄(持續更新中...) Merge Sorted Array Given two sorted integer arrays nums1
【LeetCode & 劍指offer刷題】查詢與排序題3:41 資料流中的中位數(295. Find Median from Data Stream)
【LeetCode & 劍指offer 刷題筆記】目錄(持續更新中...) 41 資料流中的中位數 題目描述 如何得到一個數據流中的中位數?如果從資料流中讀出 奇數個數值,那麼 中位數就是所有數值排序之後位於中間的數值。如果從資料流中讀出偶數個數值
【LeetCode & 劍指offer刷題】查詢與排序題4:Median of Two Sorted Arrays
【LeetCode & 劍指offer 刷題筆記】目錄(持續更新中...) Median of Two Sorted Arrays There are two sorted arrays nums1 &nb
【LeetCode & 劍指offer刷題】查詢與排序題2:40 最小的k個數(對應Kth Largest Element in an Array)
【LeetCode & 劍指offer 刷題筆記】目錄(持續更新中...) 40 最小的k個數 題目描述 輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,
【LeetCode & 劍指offer刷題】查詢與排序題10:First Bad Version
【LeetCode & 劍指offer 刷題筆記】目錄(持續更新中...) First Bad Version You are a product manager and currently leading a team to develop a n
【LeetCode & 劍指offer刷題】查詢與排序題8:Search for a Range
【LeetCode & 劍指offer 刷題筆記】目錄(持續更新中...) Search for a Range Given an array of integers nums so