python中計算眾數的函數,python眾數

本文目錄一覽:

Python四捨五入後求眾數

使用特定代碼求。

眾數是指在統計分布上具有明顯集中趨勢點的數值,代表數據的一般水平。也是一組數據中出現次數最多的數值,有時眾數在一組數中有好幾個,用M表示。

眾數是樣本觀測值在頻數分布表中頻數最多的那一組的組中值,主要應用於大面積普查研究之中。

眾數是在一組數據中,出現次數最多的數據,是一組數據中的原數據,而不是相應的次數。

網上找到的一個python求眾數的程序,為什麼得出的是最大值?怎麼改正?

沒看你的程序,幫你寫了一個。

# coding=utf-8

a = [1,5,2,6,2,5,1,6,6,2,5,1,1,6,2,8,2,0,5,4,1,3]

b = {}

for i in a:

if i in b.keys():

b[i] += 1

else:

b[i] = 1

c = sorted(b.items(), key=lambda x:x[1], reverse=True)

print ‘眾數:’, c[0][0], ‘眾數個數:’, c[0][1]

169. 求眾數(Python)

難度:★☆☆☆☆

類型:數學

給定一個大小為 n 的數組,找到其中的眾數。眾數是指在數組中出現次數大於 ⌊ n/2 ⌋ 的元素。

你可以假設數組是非空的,並且給定的數組總是存在眾數。

示例 1:

輸入: [3,2,3]

輸出: 3

示例 2:

輸入: [2,2,1,1,1,2,2]

輸出: 2

為了找到出現次數最多的數,最簡單的邏輯就是統計每次數字出現的次數,再拿取出其中出現次數最多的數字。該方法道理簡單,但是內存開銷較大。

這道題目所求的眾數的定義與常規概念不同的是,這裡眾數的出現次數要比數組中其他所有元素要多的,根據這個原理,我們將結果變量(res)初始化為數組第一個數,另外準備一個統計變量(count),當這個變量遇到和結果相同的數則加一,否則減一,減為零時更換結果變量為下一個數,由於眾數出現次數多於其他字符,那麼數組遍歷結束後統計變量一定大於零,且此時結果變量中的數即為眾數。

這裡眾數的的出現次數超過其他元素,因此我們將數據進行排序後,最中間的數字一定是眾數。

如有疑問或建議,歡迎評論區留言~

Python pandas用法

在Python中,pandas是基於NumPy數組構建的,使數據預處理、清洗、分析工作變得更快更簡單。pandas是專門為處理表格和混雜數據設計的,而NumPy更適合處理統一的數值數組數據。

使用下面格式約定,引入pandas包:

pandas有兩個主要數據結構:Series和DataFrame。

Series是一種類似於一維數組的對象,它由 一組數據 (各種NumPy數據類型)以及一組與之相關的 數據標籤(即索引) 組成,即index和values兩部分,可以通過索引的方式選取Series中的單個或一組值。

pd.Series(list,index=[ ]) ,第二個參數是Series中數據的索引,可以省略。

Series類型索引、切片、運算的操作類似於ndarray,同樣的類似Python字典類型的操作,包括保留字in操作、使用.get()方法。

Series和ndarray之間的主要區別在於Series之間的操作會根據索引自動對齊數據。

DataFrame是一個表格型的數據類型,每列值類型可以不同,是最常用的pandas對象。DataFrame既有行索引也有列索引,它可以被看做由Series組成的字典(共用同一個索引)。DataFrame中的數據是以一個或多個二維塊存放的(而不是列表、字典或別的一維數據結構)。

pd.DataFrame(data,columns = [ ],index = [ ]) :columns和index為指定的列、行索引,並按照順序排列。

如果創建時指定了columns和index索引,則按照索引順序排列,並且如果傳入的列在數據中找不到,就會在結果中產生缺失值:

數據索引 :Series和DataFrame的索引是Index類型,Index對象是不可修改,可通過索引值或索引標籤獲取目標數據,也可通過索引使序列或數據框的計算、操作實現自動化對齊。索引類型index的常用方法:

重新索引 :能夠改變、重排Series和DataFrame索引,會創建一個新對象,如果某個索引值當前不存在,就引入缺失值。

df.reindex(index, columns ,fill_value, method, limit, copy ) :index/columns為新的行列自定義索引;fill_value為用於填充缺失位置的值;method為填充方法,ffill當前值向前填充,bfill向後填充;limit為最大填充量;copy 默認True,生成新的對象,False時,新舊相等不複製。

刪除指定索引 :默認返回的是一個新對象。

.drop() :能夠刪除Series和DataFrame指定行或列索引。

刪除一行或者一列時,用單引號指定索引,刪除多行時用列表指定索引。

如果刪除的是列索引,需要增加axis=1或axis=’columns’作為參數。

增加inplace=True作為參數,可以就地修改對象,不會返回新的對象。

在pandas中,有多個方法可以選取和重新組合數據。對於DataFrame,表5-4進行了總結

適用於Series和DataFrame的基本統計分析函數 :傳入axis=’columns’或axis=1將會按行進行運算。

.describe() :針對各列的多個統計匯總,用統計學指標快速描述數據的概要。

.sum() :計算各列數據的和

.count() :非NaN值的數量

.mean( )/.median() :計算數據的算術平均值、算術中位數

.var()/.std() :計算數據的方差、標準差

.corr()/.cov() :計算相關係數矩陣、協方差矩陣,是通過參數對計算出來的。Series的corr方法用於計算兩個Series中重疊的、非NA的、按索引對齊的值的相關係數。DataFrame的corr和cov方法將以DataFrame的形式分別返回完整的相關係數或協方差矩陣。

.corrwith() :利用DataFrame的corrwith方法,可以計算其列或行跟另一個Series或DataFrame之間的相關係數。傳入一個Series將會返回一個相關係數值Series(針對各列進行計算),傳入一個DataFrame則會計算按列名配對的相關係數。

.min()/.max() :計算數據的最小值、最大值

.diff() :計算一階差分,對時間序列很有效

.mode() :計算眾數,返回頻數最高的那(幾)個

.mean() :計算均值

.quantile() :計算分位數(0到1)

.isin() :用於判斷矢量化集合的成員資格,可用於過濾Series中或DataFrame列中數據的子集

適用於Series的基本統計分析函數,DataFrame[列名]返回的是一個Series類型。

.unique() :返回一個Series中的唯一值組成的數組。

.value_counts() :計算一個Series中各值出現的頻率。

.argmin()/.argmax() :計算數據最大值、最小值所在位置的索引位置(自動索引)

.idxmin()/.idxmax() :計算數據最大值、最小值所在位置的索引(自定義索引)

pandas提供了一些用於將表格型數據讀取為DataFrame對象的函數。下表對它們進行了總結,其中read_csv()、read_table()、to_csv()是用得最多的。

在數據分析和建模的過程中,相當多的時間要用在數據準備上:加載、清理、轉換以及重塑。

在許多數據分析工作中,缺失數據是經常發生的。對於數值數據,pandas使用浮點值NaN(np.nan)表示缺失數據,也可將缺失值表示為NA(Python內置的None值)。

替換值

.replace(old, new) :用新的數據替換老的數據,如果希望一次性替換多個值,old和new可以是列表。默認會返回一個新的對象,傳入inplace=True可以對現有對象進行就地修改。

刪除重複數據

利用函數或字典進行數據轉換

df.head():查詢數據的前五行

df.tail():查詢數據的末尾5行

pandas.cut()

pandas.qcut() 基於分位數的離散化函數。基於秩或基於樣本分位數將變量離散化為等大小桶。

pandas.date_range() 返回一個時間索引

df.apply() 沿相應軸應用函數

Series.value_counts() 返回不同數據的計數值

df.aggregate()

df.reset_index() 重新設置index,參數drop = True時會丟棄原來的索引,設置新的從0開始的索引。常與groupby()一起用

numpy.zeros()

python如何求一個眾數

import numpy as np

a = np.array([1,2,3,1,2,1,1,1,3,2,2,1])

counts = np.bincount(a)

print np.argmax(counts)

1

numpy 有求眾數的函數嗎

pandas有mode()函數是求眾數的

df=pandas.DataFrame({‘key1’:[‘a’,’a’,’b’,’b’,’a’],’key2′:[‘one’,’two’,’one’,’two’,’one’]})

df.mode()

key1 key2

0 a one

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
RNBCI的頭像RNBCI
上一篇 2025-01-11 16:27
下一篇 2025-01-11 16:27

相關推薦

  • Python列表中負數的個數

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

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

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

    編程 2025-04-29
  • Python中引入上一級目錄中函數

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

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

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

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

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

    編程 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
  • Python清華鏡像下載

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

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

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

    編程 2025-04-29

發表回復

登錄後才能評論