本文目錄一覽:
- 1、如何用python進行數據分析
- 2、使用python內建函數,如何分析複雜度
- 3、用python解決一個簡單的算法問題,要求時間複雜度最小,並分析時間複雜度,給出代碼
- 4、求計算算法的複雜度 (Python寫的邏輯)
如何用python進行數據分析
1、Python數據分析流程及學習路徑
數據分析的流程概括起來主要是:讀寫、處理計算、分析建模和可視化四個部分。在不同的步驟中會用到不同的Python工具。每一步的主題也包含眾多內容。
根據每個部分需要用到的工具,Python數據分析的學習路徑如下:
相關推薦:《Python入門教程》
2、利用Python讀寫數據
Python讀寫數據,主要包括以下內容:
我們以一小段代碼來看:
可見,僅需簡短的兩三行代碼即可實現Python讀入EXCEL文件。
3、利用Python處理和計算數據
在第一步和第二步,我們主要使用的是Python的工具庫NumPy和pandas。其中,NumPy主要用於矢量化的科學計算,pandas主要用於表型數據處理。
4、利用Python分析建模
在分析和建模方面,主要包括Statsmdels和Scikit-learn兩個庫。
Statsmodels允許用戶瀏覽數據,估計統計模型和執行統計測試。可以為不同類型的數據和每個估算器提供廣泛的描述性統計,統計測試,繪圖函數和結果統計列表。
Scikit-leran則是著名的機器學習庫,可以迅速使用各類機器學習算法。
5、利用Python數據可視化
數據可視化是數據工作中的一項重要內容,它可以輔助分析也可以展示結果。
使用python內建函數,如何分析複雜度
字典(dict)下列字典的平均情況基於以下假設: 1. 對象的散列函數足夠擼棒(robust),不會發生衝突。 2. 字典的鍵是從所有可能的鍵的集合中隨機選擇的。小竅門:只使用字符串作為字典的鍵。這麼做雖然不會影響算法的時間複雜度,但會對常數項產生顯著的影響,這決定了你的一段程序能多快跑完。操作平均情況最壞情況複製[注2]O(n)O(n)取元素O(1)O(n)更改元素[注1]O(1)O(n)刪除元素O(1)O(n)遍歷[注2]O(n)O(n) 註: [1] = These operations rely on the “Amortized” part of “Amortized Worst Case”. Individual actions may take surprisingly long, depending on the history of the container. [2] = For these operations, the worst case n is the maximum size the container ever achieved, rather than just the current size. For example, if N objects are added to a dictionary, then N-1 are deleted, the dictionary will still be sized for N objects (at least) until another insertion is made.
用python解決一個簡單的算法問題,要求時間複雜度最小,並分析時間複雜度,給出代碼
比方找出前k個最大的數,建立一個最小堆,size為k, 先放前k個數到堆中。然後遍歷餘下的數(設為x),
如果x比堆頂的數大,則彈出堆頂,壓入x, 否則忽略。遍歷完後就找出了最大的k個數。
求計算算法的複雜度 (Python寫的邏輯)
(a) 算法複雜度為O(n),因為只有一個while循環,且in,所以複雜度是線性級,僅跟n有關
(b) 算法複雜度為O(n²),實際上算法複雜度為nxn/2 = n²/2,因為有for循環的嵌套
(c) 算法複雜度為O(n),因為只有while循環,儘管裡面i=ix2,但是這是常數級操作
(d) 算法複雜度為O(log i),這是對數級操作,每次i除以2,所以是log(i)base(2)
(e) 算法複雜度為O(n log n)
(f) 算法複雜度為O(2^i),這是一個遞歸算法,為指數級
(g) 算法複雜度為O(n 2^n),這是一個交換數據的算法,是一個遞歸+一個for 循環
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/240435.html