當前位置:首頁 » 編程語言 » python統計包

python統計包

發布時間: 2023-11-26 16:46:19

『壹』 如何用python將dataframe更新原來的sql

pandas是python環境下最有名的數據統計包,而DataFrame翻譯為數據框,是一種數據組織方式,這么說你可能無法從感性上認識它,舉個例子,你大概用過Excel,而它也是一種數據組織和呈現的方式,簡單說就是表格,而在在pandas中用DataFrame組織數據,如果你不print DataFrame,你看不到這些數據,下面我們來看看DataFrame是如何使用的。
首先是引入pandas和numpy,這是經常配合使用的兩個包,pandas依賴於numpy,引入以後我們可以直接使用np/pd來表示這個兩個模塊
先創建一個時間索引,所謂的索引(index)就是每一行數據的id,可以標識每一行的唯一值
為了快速入門,我們看一下如何創建一個6X4的數據:randn函數用於創建隨機數,參數表示行數和列數,dates是上一步創建的索引列
我們還可以使用字典來創建數據框,例如創建一個列名為A的數據框,索引是自動創建的整數
這又是一個字典創建DataFrame的例子
假如字典內的數據長度不同,以最長的數據為准,比如B列有4行:
可以使用dtypes來查看各行的數據格式
接著看一下如何查看數據框中的數據,看一下所有的數據
使用head查看前幾行數據(默認是前5行),不過你可以指定前幾行
查看前三行數據
使用tail查看後5行數據
查看數據框的索引
查看列名用columns
查看數據值,用values
查看描述性統計,用describe
使用type看一下輸出的描述性統計是什麼樣的數據類型——DataFrame數據
使用T來轉置數據,也就是行列轉換
對數據進行排序,用到了sort,參數可以指定根據哪一列數據進行排序。
好了,這篇入門教程到這里,後面還有很多,希望有志同道合的朋友一起交流學習,有什麼說的不對的地方,請批評指正。

『貳』 python數據分析需要哪些庫

1、Numpy
Numpy是Python科學計算的基礎包,它提供了很多功能:快速高效的多維數組對象ndarray、用於對數組執行元素級計算以及直接對數組執行數學運算的函數、用於讀寫硬碟上基於數組的數據集的工具、線性代數運算、傅里葉變換以及隨機數生成等。NumPy在數據分析方面還有另外一個主要作用,即作為在演算法和庫之間傳遞數據的容器。
2、Pandas
Pandas提供了快速便捷處理結構化數據的大量數據結構和函數。自從2010年出現以來,它助使Python成為強大而高效的數據分析環境。其中用得最多的Pandas對象是DataFrame,它是一個面向列的二維表結構,另一個是Series,一個一維的標簽化數組對象。Pandas兼具Numpy高性能的數組計算功能以及電子表格和關系型資料庫靈活的數據處理功能。還提供了復雜精細的索引功能,能更加便捷地完成重塑、切片和切塊、聚合以及選取數據子集等操作。
3、matplotlib
matplotlib是最流行的用於繪制圖表和其他二維數據可視化的Python庫。它最初由John
D.Hunter(JDH)創建,目前由一個龐大的開發團隊維護。它非常適合創建出版物上用的圖表。雖然還有其他的Python可視化庫,但matplotlib應用最為廣泛。
4、SciPy
SciPy是一組專門解決科學計算中各種標准問題域的包的集合,它與Numpy結合使用,便形成了一個相當完備和成熟的計算平台,可以處理多種傳統的科學計算問題。
5、scikit-learn
2010年誕生以來,scikit-learn成為了Python通用機器學習工具包。它的子模塊包括:分類、回歸、聚類、降維、選型、預處理等。與pandas、statsmodels和IPython一起,scikit-learn對於Python成為高效數據科學編程語言起到了關鍵作用。
6、statsmodels
statsmodels是一個統計分析包,起源於斯坦福大學統計學教授,他設計了多種流行於R語言的回歸分析模型。Skipper Seabold和Josef
Perktold在2010年正式創建了statsmodels項目,隨後匯聚了大量的使用者和貢獻者。與scikit-learn比較,statsmodels包含經典統計學和經濟計量學的演算法。

『叄』 用Python怎麼統計一個列表的元素種類和各個種類的個數

統計一個列表中每一個元素的個數在Python里有兩種實現方式,

第一種是新建一個dict,鍵是列表中的元素,值是統計的個數,然後遍歷list。

items=["cc","cc","ct","ct","ac"]

count={}
foriteminitems:
count[item]=count.get(item,0)+1
print(count)
#{'ac':1,'ct':2,'cc':2}

之中用到了一個小技巧,當dict中不還沒有統計過一個元素時,直接索引count[item]會報錯,而使用get方法count.get(item, 0)能夠設置索引不存在的鍵時返回0。


第二種是使用Python內置的函數。統計元素的個數是一種非常常見的操作,Python的collection包里已經有一個Counter的類,大致實現了上面的功能。

fromcollectionsimportCounter

items=["cc","cc","ct","ct","ac"]
count=Counter(items)
print(count)
#Counter({'ct':2,'cc':2,'ac':1})

『肆』 python包含數據包用的什麼命令

python包含數據包命令如下。
easy_insert包名。
其中python有多種數據包以下為常用數據包,Numpy提供了兩種基本的對象:ndarray和ufunc。ndarray是存儲單一數據類型的多維數組,而ufunc是能夠對數組進行處理的函數。N維數組,一種快速、高效使用內存的多維數組,他提供矢量化數學運算。可以不需要使用循環,就能對整個數組內的數據進行標准數學運算。非常便於傳送數據到用低級語言編寫(CC++)的外部庫,也便於外部庫以Numpy數組形式返回數據。Numpy不提供高級數據分析功能,但可以更加深刻的理解Numpy數組和面向數組的計算,可以進行:數組的算數和邏輯運算。傅立葉變換和用於圖形操作的常式。與線性代數有關的操作。NumPy擁有線性代數和隨機數生成的內置函數。2,Scipy是一款方便、易於使用、專門為科學和工程設計的Python包,它包括統計、優化、整合、線性代數模塊、傅里葉變換、信號和圖像處理、常微分方程求解器等。Scipy依賴於Numpy,並提供許多對用戶友好的和有效的數值常式,如數值積分和優化。3、PPandas是Python的一個數據分析包,Pandas最初被用作金融數據分析工具而開發出來,因此Pandas為時間序列分析提供了很好的支持。Pandas是為了解決數據分析任務而創建的,Pandas納入了大量的庫和一些標準的數據模型,提供了高效的操作大型數據集所需要的工具。Pandas提供了大量是我們快速便捷的處理數據的函數和方法。Pandas包含了高級數據結構,以及讓數據分析變得快速、簡單的工具。它建立在Numpy之上,使得Numpy應用變得簡單。

『伍』 java中如何讓使用Python的統計包繪圖

看來是同道。你提到的這個問題很難。
java調用python容易。 java甚至可以直接調用python的類。python調用java更容易了。
不過GUI要想融合,據目前20年的技術來看,只有本土的可以。 比如以前的微軟體ActiveX,不管你是什麼語言開發的都可以在windows下用OLE方式嵌入。

java的制圖功能,因為它的設計理念 ,它是封閉的。也就是說,除非你使用了它本地化的GUI方法,否則就不可能實現。

那麼說,如果我一定要實現怎麼辦呢?只能走很長的彎路。方法還是有幾個的。
方法1:
在java的panel里嵌入一個瀏覽器,然後在瀏覽器里顯示統計圖表。這個真是不要太容易了。 不管是你是python生成的本地圖片,還是直接用javascript生成的圖都可以嵌入進去。美觀不用說

方法2:
繪圖使用開源的,比如plt之類的。不過它被本地化成java版本的。然後用java調用python,再用python產生數據後,通過jython調用java本地化的繪圖工具。

表面上看,這個東西就是沒有價值的,為什麼不直接用java調用繪圖。關鍵在於python本身對於數據處理的優勢太明顯。輕松就可以完成復雜的數據結構處理。所以還是有價值的

方法3:
浮動窗口方式。這個就不說了。如果你的java是固定在窗口特定位置的。這個就容易了。怎麼浮動窗口要根據操作系統而定。

方法4:簡單方案
python生成圖片後,輸出成JPEG或者是PNG或者是GIF,然後讓JAVA顯示這個圖片。這個可能是最最簡單的。

方法5:windows專用,不知道可否使用
僅限於特定場景,在要顯示圖片的地方,顯示一個品紅色的純色圖。然後讓python的圖形輸出轉到directshow之類的API,直接寫顯卡。這樣就可以顯示動畫效果。

『陸』 python數據統計分析

1. 常用函數庫

  scipy包中的stats模塊和statsmodels包是python常用的數據分析工具,scipy.stats以前有一個models子模塊,後來被移除了。這個模塊被重寫並成為了現在獨立的statsmodels包。

 scipy的stats包含一些比較基本的工具,比如:t檢驗,正態性檢驗,卡方檢驗之類,statsmodels提供了更為系統的統計模型,包括線性模型,時序分析,還包含數據集,做圖工具等等。

2. 小樣本數據的正態性檢驗

(1) 用途

 夏皮羅維爾克檢驗法 (Shapiro-Wilk) 用於檢驗參數提供的一組小樣本數據線是否符合正態分布,統計量越大則表示數據越符合正態分布,但是在非正態分布的小樣本數據中也經常會出現較大的W值。需要查表來估計其概率。由於原假設是其符合正態分布,所以當P值小於指定顯著水平時表示其不符合正態分布。

 正態性檢驗是數據分析的第一步,數據是否符合正態性決定了後續使用不同的分析和預測方法,當數據不符合正態性分布時,我們可以通過不同的轉換方法把非正太態數據轉換成正態分布後再使用相應的統計方法進行下一步操作。

(2) 示例

(3) 結果分析

 返回結果 p-value=0.029035290703177452,比指定的顯著水平(一般為5%)小,則拒絕假設:x不服從正態分布。

3. 檢驗樣本是否服務某一分布

(1) 用途

 科爾莫戈羅夫檢驗(Kolmogorov-Smirnov test),檢驗樣本數據是否服從某一分布,僅適用於連續分布的檢驗。下例中用它檢驗正態分布。

(2) 示例

(3) 結果分析

 生成300個服從N(0,1)標准正態分布的隨機數,在使用k-s檢驗該數據是否服從正態分布,提出假設:x從正態分布。最終返回的結果,p-value=0.9260909172362317,比指定的顯著水平(一般為5%)大,則我們不能拒絕假設:x服從正態分布。這並不是說x服從正態分布一定是正確的,而是說沒有充分的證據證明x不服從正態分布。因此我們的假設被接受,認為x服從正態分布。如果p-value小於我們指定的顯著性水平,則我們可以肯定地拒絕提出的假設,認為x肯定不服從正態分布,這個拒絕是絕對正確的。

4.方差齊性檢驗

(1) 用途

 方差反映了一組數據與其平均值的偏離程度,方差齊性檢驗用以檢驗兩組或多組數據與其平均值偏離程度是否存在差異,也是很多檢驗和演算法的先決條件。

(2) 示例

(3) 結果分析

 返回結果 p-value=0.19337536323599344, 比指定的顯著水平(假設為5%)大,認為兩組數據具有方差齊性。

5. 圖形描述相關性

(1) 用途

 最常用的兩變數相關性分析,是用作圖描述相關性,圖的橫軸是一個變數,縱軸是另一變數,畫散點圖,從圖中可以直觀地看到相關性的方向和強弱,線性正相關一般形成由左下到右上的圖形;負面相關則是從左上到右下的圖形,還有一些非線性相關也能從圖中觀察到。

(2) 示例

(3) 結果分析

 從圖中可以看到明顯的正相關趨勢。

6. 正態資料的相關分析

(1) 用途

 皮爾森相關系數(Pearson correlation coefficient)是反應兩變數之間線性相關程度的統計量,用它來分析正態分布的兩個連續型變數之間的相關性。常用於分析自變數之間,以及自變數和因變數之間的相關性。

(2) 示例

(3) 結果分析

 返回結果的第一個值為相關系數表示線性相關程度,其取值范圍在[-1,1],絕對值越接近1,說明兩個變數的相關性越強,絕對值越接近0說明兩個變數的相關性越差。當兩個變數完全不相關時相關系數為0。第二個值為p-value,統計學上,一般當p-value<0.05時,可以認為兩變數存在相關性。

7. 非正態資料的相關分析

(1) 用途

 斯皮爾曼等級相關系數(Spearman』s correlation coefficient for ranked data ),它主要用於評價順序變數間的線性相關關系,在計算過程中,只考慮變數值的順序(rank, 值或稱等級),而不考慮變數值的大小。常用於計算類型變數的相關性。

(2) 示例

(3) 結果分析

 返回結果的第一個值為相關系數表示線性相關程度,本例中correlation趨近於1表示正相關。第二個值為p-value,p-value越小,表示相關程度越顯著。

8. 單樣本T檢驗

(1) 用途

 單樣本T檢驗,用於檢驗數據是否來自一致均值的總體,T檢驗主要是以均值為核心的檢驗。注意以下幾種T檢驗都是雙側T檢驗。

(2) 示例

(3) 結果分析

 本例中生成了2列100行的數組,ttest_1samp的第二個參數是分別對兩列估計的均值,p-value返回結果,第一列1.47820719e-06比指定的顯著水平(一般為5%)小,認為差異顯著,拒絕假設;第二列2.83088106e-01大於指定顯著水平,不能拒絕假設:服從正態分布。

9. 兩獨立樣本T檢驗

(1) 用途

 由於比較兩組數據是否來自於同一正態分布的總體。注意:如果要比較的兩組數據不滿足方差齊性, 需要在ttest_ind()函數中添加參數equal_var = False。

(2) 示例

(3) 結果分析

 返回結果的第一個值為統計量,第二個值為p-value,pvalue=0.19313343989106416,比指定的顯著水平(一般為5%)大,不能拒絕假設,兩組數據來自於同一總結,兩組數據之間無差異。

10. 配對樣本T檢驗

(1) 用途

 配對樣本T檢驗可視為單樣本T檢驗的擴展,檢驗的對象由一群來自正態分布獨立樣本更改為二群配對樣本觀測值之差。它常用於比較同一受試對象處理的前後差異,或者按照某一條件進行兩兩配對分別給與不同處理的受試對象之間是否存在差異。

(2) 示例

(3) 結果分析

 返回結果的第一個值為統計量,第二個值為p-value,pvalue=0.80964043445811551,比指定的顯著水平(一般為5%)大,不能拒絕假設。

11. 單因素方差分析

(1) 用途

 方差分析(Analysis of Variance,簡稱ANOVA),又稱F檢驗,用於兩個及兩個以上樣本均數差別的顯著性檢驗。方差分析主要是考慮各組之間的平均數差別。

 單因素方差分析(One-wayAnova),是檢驗由單一因素影響的多組樣本某因變數的均值是否有顯著差異。

 當因變數Y是數值型,自變數X是分類值,通常的做法是按X的類別把實例成分幾組,分析Y值在X的不同分組中是否存在差異。

(2) 示例

(3) 結果分析

 返回結果的第一個值為統計量,它由組間差異除以組間差異得到,上例中組間差異很大,第二個返回值p-value=6.2231520821576832e-19小於邊界值(一般為0.05),拒絕原假設, 即認為以上三組數據存在統計學差異,並不能判斷是哪兩組之間存在差異 。只有兩組數據時,效果同 stats.levene 一樣。

12. 多因素方差分析

(1) 用途

 當有兩個或者兩個以上自變數對因變數產生影響時,可以用多因素方差分析的方法來進行分析。它不僅要考慮每個因素的主效應,還要考慮因素之間的交互效應。

(2) 示例

(3) 結果分析

 上述程序定義了公式,公式中,"~"用於隔離因變數和自變數,」+「用於分隔各個自變數, ":"表示兩個自變數交互影響。從返回結果的P值可以看出,X1和X2的值組間差異不大,而組合後的T:G的組間有明顯差異。

13. 卡方檢驗

(1) 用途

 上面介紹的T檢驗是參數檢驗,卡方檢驗是一種非參數檢驗方法。相對來說,非參數檢驗對數據分布的要求比較寬松,並且也不要求太大數據量。卡方檢驗是一種對計數資料的假設檢驗方法,主要是比較理論頻數和實際頻數的吻合程度。常用於特徵選擇,比如,檢驗男人和女人在是否患有高血壓上有無區別,如果有區別,則說明性別與是否患有高血壓有關,在後續分析時就需要把性別這個分類變數放入模型訓練。

 基本數據有R行C列, 故通稱RC列聯表(contingency table), 簡稱RC表,它是觀測數據按兩個或更多屬性(定性變數)分類時所列出的頻數表。

(2) 示例

(3) 結果分析

 卡方檢驗函數的參數是列聯表中的頻數,返回結果第一個值為統計量值,第二個結果為p-value值,p-value=0.54543425102570975,比指定的顯著水平(一般5%)大,不能拒絕原假設,即相關性不顯著。第三個結果是自由度,第四個結果的數組是列聯表的期望值分布。

14. 單變數統計分析

(1) 用途

 單變數統計描述是數據分析中最簡單的形式,其中被分析的數據只包含一個變數,不處理原因或關系。單變數分析的主要目的是通過對數據的統計描述了解當前數據的基本情況,並找出數據的分布模型。

 單變數數據統計描述從集中趨勢上看,指標有:均值,中位數,分位數,眾數;從離散程度上看,指標有:極差、四分位數、方差、標准差、協方差、變異系數,從分布上看,有偏度,峰度等。需要考慮的還有極大值,極小值(數值型變數)和頻數,構成比(分類或等級變數)。

 此外,還可以用統計圖直觀展示數據分布特徵,如:柱狀圖、正方圖、箱式圖、頻率多邊形和餅狀圖。

15. 多元線性回歸

(1) 用途

 多元線性回歸模型(multivariable linear regression model ),因變數Y(計量資料)往往受到多個變數X的影響,多元線性回歸模型用於計算各個自變數對因變數的影響程度,可以認為是對多維空間中的點做線性擬合。

(2) 示例

(3) 結果分析

 直接通過返回結果中各變數的P值與0.05比較,來判定對應的解釋變數的顯著性,P<0.05則認為自變數具有統計學意義,從上例中可以看到收入INCOME最有顯著性。

16. 邏輯回歸

(1) 用途

 當因變數Y為2分類變數(或多分類變數時)可以用相應的logistic回歸分析各個自變數對因變數的影響程度。

(2) 示例

(3) 結果分析

 直接通過返回結果中各變數的P值與0.05比較,來判定對應的解釋變數的顯著性,P<0.05則認為自變數具有統計學意義。

『柒』 R 和 Python 用於統計學分析,哪個更好

總的概括:R主要在學術界流行,python(numpy scipy)在工程方便比較實用。

R是S(Splus)的開源版本,或者下一代。發源地在紐西蘭奧克蘭。這個軟體的統計背景很濃烈。我這里濃烈的意思是,如果你不熟習統計知識(歷史)的話,R的幫助文檔看起來是很累的。由統計背景的人開發。R的維護組叫CRAN-R。在生物信息方便,有個叫bioconctor的組織,裡面有很多生物信息方面可以用的軟體包,他們有一套自己維護package系統。

Python是個綜合語言(這里特指指CPython解釋器),numpy scipy是數值計算的擴展包,pandas是主要用來做數據處理(numpy依賴),sympy做符號計算(類似mathematica?)此外還有一些不太成熟的包如sciki learn,statistical models。成熟度不如R。但是已經到了可用的水平了。是讀計算機的人寫的統計包。ipython 更新到1.0以後,功能基本完善,其notebook非常強大(感覺就像mathematica)而且還是基於web,在合作分享方面非常好用。

性能:
大家都說R慢,特別是CS的人。其實這里主要是兩點:一個R裡面數組的調用都是用復制的,二是Rscript慢。三是處理大數據慢。如果R用的好的話,R是不太慢的。具體來說就是Rscript用的少,多用命令,跑點小數據。這樣的話,實際在跑的都是背後的fortran和C庫。他們都有快二三十年歷史了。可謂異常可靠,優化得不能再優化了(指單線程,如果去看源代碼揮發先許多莫名的常數,永用了以後精度高速度快!)。比如一個自己編寫一個R腳本,loop套loop的那種,那真是想死的心都會有。外加一點,R處理文本文件很慢!

Python歸根揭底還是個有解釋器的腳本語言,而且有致命傷——GIL,但python最難能可貴的就是它很容易變得更快。比如pypy,cython,或者直接ctypes掛C庫。純python寫個原型,然後就開是不斷的profiling和加速吧。很輕易可以達到和C一個數量級的速度,但是寫程序、調試的時間少了很多。

並行計算:
R v15 之後有了自帶的parallel包,用挺輕松的。不過其實就是不停的fork,或者mpi,內存消耗挺厲害的。parSapply,parApply什麼的,真是很好用。

Python雖然有GIL——並行計算的死敵,但是有multiprocessing(fork依賴) ,是可以共享數據的什麼的,估計內存消耗方面比R好點,數據零散的話overhead很多。到了MPI的話,mpi4py還是挺好用的。用cython的話結合openmp可以打破GIL,但是過程中不能調用python的對象。

學習曲線:假設什麼編程都不會的同學。
R一開始還是很容易上手的,查到基本的命令,包,直接print一下就有結果了。但是如果要自己寫演算法、優化性能的時候,學習難度陡增。

Python么,挺好學的,絕大多數的幫助文檔都比R好了許多。有些包用起來沒R方便。總的來說深入吼R陡。

擴展資源:
基本上新的統計方法都會有R的package,安裝實用都不麻煩。但是基本上都是搞統計的人寫的計算機包。所以效能上可能有問好。比較出名的有兩個包的管理網站,cran-r 和bioconctor。 所以搞生化的估計R用起來很方便。

python的統計計算包們比R少,多很年輕,還在不斷的開發中。優於是計算機人寫的統計包,用起來的時候要多漲個心眼。

畫圖:
R自帶的那些工具就挺好用了,然後還有ggplot這種非常優美的得力工具。

python 有matplotlib,畫出來效果感覺比R自帶的好一些些,而且界面基於QT,跨平台支持。可能是R用得多了,pyplot用起來還是不太順手,覺得其各個組建的統一性不高。

IDE:
Rstudio非常不錯,提供類matlab環境。(用過vim-r-plugin,用過emacs + ess現在用vim。)

windows 下有python(x,y) 還有許多商業的工具。(本人現在的emacs環境還不是很順手~)

建議:
如果只是處理(小)數據的,用R。結果更可靠,速度可以接受,上手方便,多有現成的命令、程序可以用。

要自己搞個演算法、處理大數據、計算量大的,用python。開發效率高,一切盡在掌握。

ps:盲目地用R的包比盲目的地用python的包要更安全。起碼R會把你指向一篇論文,而python只是指向一堆代碼。R出問題了還有論文作者、審稿人陪葬。

熱點內容
蘋果手機備忘錄怎麼加密 發布:2024-05-19 18:57:57 瀏覽:15
光榮腳本 發布:2024-05-19 18:57:48 瀏覽:996
pythonjson字元串 發布:2024-05-19 18:51:43 瀏覽:253
什麼是伺服器廠商介紹 發布:2024-05-19 18:50:09 瀏覽:370
伺服器網卡硬體型號怎麼看 發布:2024-05-19 18:36:41 瀏覽:665
修改pve伺服器ip 發布:2024-05-19 18:31:52 瀏覽:468
微信密碼忘記了如何取出裡面的錢 發布:2024-05-19 18:27:35 瀏覽:329
vs2005反編譯 發布:2024-05-19 18:26:34 瀏覽:363
ug啟動語言腳本 發布:2024-05-19 18:25:57 瀏覽:874
緩存伺服器技術 發布:2024-05-19 18:25:56 瀏覽:885