python給數據排名(python數據列表)

本文目錄一覽:

用python從561473957這一組數據中找出最大值和最小值,並從大到小排列的編程

li = [56, 14, 73, 95, 7]

print(‘最大值為:{},最小值為:{}’.format(max(li), min(li)))

print(sorted(li, reverse=True))

用python對10個數進行排序

sort_values(by, axis=0, ascending=True, inplace=False, kind=’quicksort’, na_position=’last’)

by: 可以填入字符串或者字符串組成的列表。也就是說,如果axis=0,那麼by=”列名”;如果axis=1,那麼by=”行名”。

axis: {0 or 『index』, 1 or 『columns』}, default 0,意思就是如果axis=0,就按照索引排序,即縱向排序;如果axis=1,則按列排序,即橫向排序。默認是axis=0。

ascending: 輸入布爾型,True是升序,False是降序,也可以可以是[True,False],即第一個字段升序,第二個字段降序 。

inplace: 輸入布爾型,是否用排序後的數據框替換現有的數據框(這個在之前的文章寫過很多次了~)

kind: 排序的方法,{『quicksort』, 『mergesort』, 『heapsort』},默認是使用『quicksort』。這個參數用的比較少,大家可以試一試。

na_position : {『first』, 『last』},缺失值的排序,也就說決定將缺失值放在數據的最前面還是最後面。first是排在前面,last是排在後面,默認是用last。

創建數據表:

scores= pd.DataFrame([[87,56,85],[46,87,97],[34,65,86]],

     columns=[‘jack’, ‘rose’, ‘mike’])

scores

『rose』這一列進行降序排序:

df_sc=scores.sort_values(by=’rose’,ascending=False)

df_sc

『mike』這一列進行升序排序:

df_sc=scores.sort_values(by=’mike’,ascending=True)

df_sc

對第0行進行升序排序:

scores.sort_values(by=0,axis=1,ascending=True)

我們再嘗試對第1行進行升序,第0行進行降序:

scores.sort_values(by=[1,0],axis=1,ascending=[True,False]

python數據分析使用的數據

1、對數據進行排序df.sort_values()

#讀取數據

titanic_survival=pd.read_csv(r”C:Userspythonwandata_minepython_pandas itanic_train.csv”)

#用sort_values()函數對指定列排序,默認升序排序,inplace=True表示在原來的df上排序titanic_survival.sort_values((“Age”),inplace=Tru

2、缺失值判斷及統計pandas.isnull()、pandas.isnull

空值統計方法一:df.isnull().sum():

#當不指定具體列時,統計整個df的缺失值個數

titanic_survival[‘Age’].isnull().sum()

通過len()函數統計缺失值

3、缺失值處理

處理缺失值可以分為兩類:刪除缺失值和缺失值插補。而缺失值插補又分為以下幾種:

均值/中位數/眾數插補

使用固定值(將缺失值的屬性用一個常量代替)

最近鄰插補(在記錄中找到與缺失值樣本最接近的樣本的該屬性插補)

回歸方法(對帶有缺失值的變量,根據已有數據和與其有關的其他變量建立擬合模型來預測缺失值)

插值法(利用已知點建立合適的插值函數f(x),未知值由對應點xi求出來近似代替)

下面,我們主要討論刪除缺失值,學習一些pandas缺失值刪除的操作。

1)df.dropna(),捨棄含有任意缺失值的行

#等價於titanic_survival.dropna(axis=0) axis=0表示刪除行,axis=1表示刪除列

dropall=titanic_survival.dropna()

刪除含任意空值的行

2)df.dropna()函數刪除某個列中含有空值的行

現在這個數據中age、cabin、embarked都有缺失值,如果我們直接使用df.dropna()會刪除掉這三列中都有空值的所有行,但是我們希望只刪除age列中有空值的數據,那該如何處理呢?

直接使用df.dropna(subset=[‘column_list’])

drop_age_null=titanic_survival.dropna(subset=[“Age”])

刪除指定列中含有缺失值的行

pandas自定義函數

python數據分析模塊:numpy、pandas全解

一維數組情況:

二維數組情況:

3參數情況:

2參數情況:

1參數情況:

一維情況:

二維情況:

一維情況:

二維情況:

一維情況:

二維情況:第三個參數指定維度

只查看行數、或者列數

逗號隔開兩個索引

某些行

某些列

可以看出append()函數在二維數組中添加元素,結果轉為了一維數組。

那怎麼保持二維數組呢?可以設置axis參數按行或者按列添加

可以看出先把二維數組降成了一維數組,再在索引為1的位置添加元素。

那麼怎麼保持在二維添加元素呢? 同樣設置axis參數

也分按行和按列刪除

標記缺失值: isnan()函數

補充缺失值:

同樣axis參數可以指定拼接按行還是按列

2. hstack()函數:以水平堆疊的方式拼接數組

3. vstack()函數:以垂直堆疊的方式拼接數組

第二個參數還可以是數組,指定拆分的位置

hsplit()函數:橫向拆成幾個數組

vsplit()函數:縱向拆成幾個數組

數組與數組之間的運算

數組與數值的運算

可以指定整個數組求和,還是按行或者按列

axis=0:每一列的元素求和

axis=1:每一行的元素求和

axis=0:每一列求均值

axis=1:每一行求均值

axis=0:每一列求最大值

axis=1:每一行求最大值

pandas有兩個重要的數據結構對象:Series和DataFrame。

Series是創建一個一維數組對象,會自動生成行標籤。

會自動生成行列標籤

也可以用字典形式生成數據

在用字典生成數據的基礎上,同時指定行標籤

例如對下表的數據進行讀取

4月是第四個表,我們應把sheet_name參數指定為3;因為索引是從0開始的。

可以看出read_excel()函數自動創建了一個DataFrame對象,同時自動把第一行數據當做列標籤。

可以看出不給出header參數時,該參數默認為0。

header=1時結果如下:

header=None時結果如下:

index_col=0時,第0列為列標籤

index_col=0時

usecols=[2]:指定第二列

指定多列

數據如下:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-j1SHxY8y-1637655972909)(C:Users14051AppDataRoamingTypora ypora-user-imagesimage-20211114192949607.png)]

nrows=3時

head()函數中參數為空默認前5行

指定head(3)時如下

numpy模塊也是shape

查看特定列的書庫類型

特定列數據類型轉換

先查看一下所有數據

與單行相比,結果顯示的格式不一樣了

iloc()挑選:

或者給出區間

挑選數據要麼標籤,要麼索引挑選

或者

或者寫成區間

標籤挑選

或者索引挑選

先查看一下數據

或者用字典一對一修改

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-a6QKIoie-1637655972912)(C:Users14051AppDataRoamingTypora ypora-user-imagesimage-20211123110431201.png)]

isin()函數查看錶中是否有該值

查看特定列是否有該值

可以看出上述代碼並沒有替換,那怎麼替換呢?

末尾插入一列

指定插入到哪列

axis參數可以指定刪除行還是刪除列

指定標籤刪除

指定索引刪除

方法三

指定行標籤刪除

指定索引刪除

方法三:

先查看所有數據

info()函數查看數據類型,還可以查看是否有缺失值

isnull()函數查看是否有缺失值

在numpy模塊中用isnan()函數

刪除有缺失值的行

刪除整行都為缺失值的行: 需要指定how參數

不同列的缺失值設置不同的填充值

默認保留第一個重複值所在的行,刪除其他重複值所在的行

保留第一個重複值所在的行

保留最後一個重複值所在的行

是重複的就刪除

降序如下

參數指定first時,表示在數據有重複值時,越先出現的數據排名越靠前

獲取產品為單肩包的行數據

獲取數量60的行數據

獲取產品為單肩包 且 數量60 的行數據

獲取產品為單肩包 或 數量60 的行數據

stack()函數轉換成樹形結構

how參數指定外連接

on參數指定按哪一列合併

concat()函數採用 全連接 的方式,沒有的數設置為缺失值

重置行標籤

效果與concat()一樣

末尾添加行元素

指定列求和

指定列求均值

指定列求最值

獲取單列的

corr()函數獲取相關係數

獲取指定列與其他列的相關係數

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-46g9qgQw-1637655972913)(C:Users14051AppDataRoamingTypora ypora-user-imagesimage-20211123135643804.png)]

groupby()函數返回的是一個DataFrameBy對象,該對象包含分組後的數據,但是不能直觀地顯示出來。

分組後獲取指定列的匯總情況

獲取多列的匯總情況

獲取多列的情況

ta = pd.read_excel(『相關性分析.xlsx』)

print(data)

corr()函數獲取相關係數

獲取指定列與其他列的相關係數

[外鏈圖片轉存中…(img-46g9qgQw-1637655972913)]

groupby()函數返回的是一個DataFrameBy對象,該對象包含分組後的數據,但是不能直觀地顯示出來。

分組後獲取指定列的匯總情況

獲取多列的匯總情況

獲取多列的情況

python數據同時排序

Python列表具有內置的 list.sort()方法,可以在原地修改列表。 還有一個 sorted()內置的函數從迭代構建一個新的排序列表。在本文中,我們將探討使用Python排序數據的各種技術。

請注意,sort()原始數據被破壞,sorted()沒有對原始數據進行操作,而是新建了一個新數據。

一、基本的排序

最基本的排序很簡單。只要使用sorted()函數即可返回一個 新的排序的列表

sorted([5, 2, 3, 1, 4])

[1, 2, 3, 4, 5]

咱們也可以使用 list.sort()方法。該方法是對列表list進行的原地操作(原數據被修改,已經不是原來的本來面目)。一般情況下,不如使用 sorted()方便,但是如果你不需要原列表list,使用 sort()會更具效率。

a = [5, 2, 3, 1, 4]

a.sort()

a #a發生改變

[1, 2, 3, 4, 5]

另一個不同點, list.sort()方法只能應用於列表對象數據。而 sorted()卻可以對任何可迭代對象進行排序。也就是說sorted()更具有普遍使用性。這裡大燈建議初學者使用sorted()。

二、Key參數函數

list.sort()和 sorted()都有key參數,可以指定函數來對元素進行排序。

例如,這裡我們使用一個字符串(字符串也是可迭代對象)

sorted(“This is a test string from Andrew”.split(), key=str.lower)

python3爬蟲爬取中國大學排名數據並寫入mysql數據庫並添加省分及添加

網絡爬蟲(又稱為網頁蜘蛛,網絡機械人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。

原創文章,作者:WIQD,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/139507.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WIQD的頭像WIQD
上一篇 2024-10-04 00:22
下一篇 2024-10-04 00:22

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29

發表回復

登錄後才能評論