① 求教python中的turtle
海龜庫(turtle)
海龜庫 (turtle) 是Python語言中一個很流行的繪制圖像的函數庫,想像一個小烏龜,在一個橫軸為x、縱軸為y的坐標系原點,(0,0)位置開始,它根據一組函數指令的控制,在這個平面坐標系中移動,從而在它爬行的路徑上繪制了圖形。
海龜庫積木盒有點類似Kitten創作工具的畫筆和動作積木盒的結合體,可以繪制、控制畫筆移動,大家使用一下就可以體會了哦。
海龜圖的窗口坐標系同Kitten舞台類似,小窗口的情況下,海龜圖高和寬是固定400像素。全屏的海龜圖和瀏覽器本身的尺寸有關。
海龜圖和math庫、random庫一樣,需要先導入庫import turtle,才可以使用庫中的函數。使用海龜庫中的函數,你可以畫出各種有趣的圖形。
② 淺談N皇後問題解法
一般地,[公式]皇後問題描述如下:
在大小為[公式]的棋盤上擺放[公式]個皇後,使其兩兩之間不能互相攻擊,即任意兩個皇後都不能處於棋盤的同一行、同一列或同一斜線上,求出滿足條件的所有棋局及局面總數。
特殊地,當[公式]時為著名的以國際象棋棋盤為背景的8皇後問題,易解得符合條件的局面總數為92。本實驗主要探究[公式]的棋盤上擺放[公式]個皇後的一般問題。
[公式]皇後問題可以維護一個長度為[公式]的一維數組q表示局面情況。[公式]表示第[公式]行皇後放置位置所在列數[公式],每個局面可看作由[公式]到[公式]序列組成的一個排列,原問題可以轉化成尋找所有不導致行/列/斜線沖突的排列。
直觀的想法是將[公式]皇後問題看成組合問題,[公式]的棋盤上每個格都有防放置皇後和空格兩種情況,總情況數達[公式],指數爆炸在時間和空間復雜度上都難以負擔。一種改進思路是考慮每列僅允許出現一個皇後,按照行先序順序放置皇後,第一行有[公式]種可能,第二行有[公式]種可能…第[公式]行有1種可能,總情況數縮減為[公式]略有改善。為進一步提高演算法效率,考慮棋盤上每條斜線上僅允許出現一個皇後,在此聯想到回溯和剪枝的演算法。
引入N叉樹的數據結構,構建[公式]皇後問題的解空間樹。排列長度[公式]為樹的深度,據此判定遞歸的出口。初始狀態將一維數組q置空,以行先序從第0行開始遞歸求解。遍歷[公式]行每一列[公式],若q中已有[公式](即第[公式]列已經放置了皇後),則發生剪枝,繼續遍歷其他列;若q中沒有[公式],則[公式],遞歸式進入[公式]行的遍歷,直到數組q中已經賦滿[公式]個列號,則進入遞歸出口進行判定局面的合理性(即每個行/列/斜線最多僅有1個皇後)。若局面合理,將該合理局面保存在二維數組result中,繼續回溯探索其他合理局面;若局面不合理,同樣回溯探索其他合理局面。以此類推,直到遍歷完解空間中所有情況,result中所保存的就是所有合理局面,result的長度就是[公式]皇後問題滿足條件的所有局面總數。
其中判斷局面合理性的方法具體如下:
由數組q可獲得第[公式]個皇後的位置記為[公式],[公式],一個合理的局面需要滿足以下條件([公式]):
以4皇後為例,下圖為剪枝與回溯思想的示意圖:(僅示意,不代表真實求解情況)
[編譯環境] Windows 系統|PyCharm 編譯器|python 3.8.11
傳統解決[公式]皇後問題的演算法都是基於遞歸的回溯演算法,但單線程遞歸程序不易可視化。因此,我分別設計了用於求解[公式]皇後所有解法數的遞歸函數search()和用於窗口可視化的基於棧實現的非遞歸函數 next(),並將它們封裝在類NQueen中。其中,search()通過調用dfs()方法遞歸求解所有[公式]皇後問題的局面;next()輸入一組[公式]合理的[公式]皇後排列返回下一組合理的[公式]皇後排列,默認開始為空排列,默認最後一組合理的[公式]皇後排列的下一組排列為空排列。
類NQueen代碼如下:
調用python中的tkinter庫完成[公式]皇後問題求解可視化呈現,代碼詳見附件。由於[公式]較大時展示不便,在此取[公式]的調節范圍為[公式],部分界面可視化如下:
具體界面操作見視頻演示(連續執行是循環播放所有可能的局面)。
當[公式]時合理局面數已經超過兩百萬,程序運行時間較長,在此展示[公式]的N皇後問題合理局面總數。
觀察結果,僅當[公式]或[公式]時[公式]皇後問題才有非零解。
一種改進的思路是對於不同的皇後問題,使用不同的方法計算合理局面數。
對於[公式]的任意N皇後問題,可以採取分治法確定部分解。例如可以通過5皇後問題的解確定25皇後問題的部分解進而確定125皇後問題的部分解,示意圖如下:
以此類推,分治思路成倍向外擴展便能生成一個無窮皇後問題的解。
本實驗對傳統的八皇後問題進行推廣,在求解[公式]皇後問題所有滿足條件的棋局及局面總數的過程中掌握了回溯法避免組合爆炸的思想以及剪枝減少時間復雜度的優化演算法,同時還設計非遞歸演算法對[公式]皇後問題的結果進行了清晰的可視化呈現,還進一步探究了分治法在[公式]皇後問題中的應用,為生成無窮皇後問題的解提供了可行思路。
③ python數據分析與應用-Python數據分析與應用 pdf 內部全資料版
給大家帶來的一篇關於Python數據相關的電子書資源,介紹了關於Python方面的內容,本書是由人民郵電出版社出版,格式為PDF,資源大小281 MB,黃紅梅 張良均編寫,目前豆瓣、亞馬遜、當當、京東等電子書綜合評分為:7.8。
內容介紹
目錄
第1章Python數據分析概述1
任務1.1認識數據分析1
1.1.1掌握數據分析的概念2
1.1.2掌握數據分析的流程2
1.1.3了解數據分析應用場景4
任務1.2熟悉Python數據分析的工具5
1.2.1了解數據分析常用工具6
1.2.2了解Python數據分析的優勢7
1.2.3了解Python數據分析常用類庫7
任務1.3安裝Python的Anaconda發行版9
1.3.1了解Python的Anaconda發行版9
1.3.2在Windows系統中安裝Anaconda9
1.3.3在Linux系統中安裝Anaconda12
任務1.4掌握Jupyter Notebook常用功能14
1.4.1掌握Jupyter Notebook的基本功能14
1.4.2掌握Jupyter Notebook的高 級功能16
小結19
課後習題19
第2章NumPy數值計算基礎21
任務2.1掌握NumPy數組對象ndarray21
2.1.1創建數組對象21
2.1.2生成隨機數27
2.1.3通過索引訪問數組29
2.1.4變換數組的形態31
任務2.2掌握NumPy矩陣與通用函數34
2.2.1創建NumPy矩陣34
2.2.2掌握ufunc函數37
任務2.3利用NumPy進行統計分析41
2.3.1讀/寫文件41
2.3.2使用函數進行簡單的統計分析44
2.3.3任務實現48
小結50
實訓50
實訓1創建數組並進行運算50
實訓2創建一個國際象棋的棋盤50
課後習題51
第3章Matplotlib數據可視化基礎52
任務3.1掌握繪圖基礎語法與常用參數52
3.1.1掌握pyplot基礎語法53
3.1.2設置pyplot的動態rc參數56
任務3.2分析特徵間的關系59
3.2.1繪制散點圖59
3.2.2繪制折線圖62
3.2.3任務實現65
任務3.3分析特徵內部數據分布與分散狀況68
3.3.1繪制直方圖68
3.3.2繪制餅圖70
3.3.3繪制箱線圖71
3.3.4任務實現73
小結77
實訓78
實訓1分析1996 2015年人口數據特徵間的關系78
實訓2分析1996 2015年人口數據各個特徵的分布與分散狀況78
課後習題79
第4章pandas統計分析基礎80
任務4.1讀/寫不同數據源的數據80
4.1.1讀/寫資料庫數據80
4.1.2讀/寫文本文件83
4.1.3讀/寫Excel文件87
4.1.4任務實現88
任務4.2掌握DataFrame的常用操作89
4.2.1查看DataFrame的常用屬性89
4.2.2查改增刪DataFrame數據91
4.2.3描述分析DataFrame數據101
4.2.4任務實現104
任務4.3轉換與處理時間序列數據107
4.3.1轉換字元串時間為標准時間107
4.3.2提取時間序列數據信息109
4.3.3加減時間數據110
4.3.4任務實現111
任務4.4使用分組聚合進行組內計算113
4.4.1使用groupby方法拆分數據114
4.4.2使用agg方法聚合數據116
4.4.3使用apply方法聚合數據119
4.4.4使用transform方法聚合數據121
4.4.5任務實現121
任務4.5創建透視表與交叉表123
4.5.1使用pivot_table函數創建透視表123
4.5.2使用crosstab函數創建交叉表127
4.5.3任務實現128
小結130
實訓130
實訓1讀取並查看P2P網路貸款數據主表的基本信息130
實訓2提取用戶信息更新表和登錄信息表的時間信息130
實訓3使用分組聚合方法進一步分析用戶信息更新表和登錄信息表131
實訓4對用戶信息更新表和登錄信息表進行長寬表轉換131
課後習題131
第5章使用pandas進行數據預處理133
任務5.1合並數據133
5.1.1堆疊合並數據133
5.1.2主鍵合並數據136
5.1.3重疊合並數據139
5.1.4任務實現140
任務5.2清洗數據141
5.2.1檢測與處理重復值141
5.2.2檢測與處理缺失值146
5.2.3檢測與處理異常值149
5.2.4任務實現152
任務5.3標准化數據154
5.3.1離差標准化數據154
5.3.2標准差標准化數據155
5.3.3小數定標標准化數據156
5.3.4任務實現157
任務5.4轉換數據158
5.4.1啞變數處理類別型數據158
5.4.2離散化連續型數據160
5.4.3任務實現162
小結163
實訓164
實訓1插補用戶用電量數據缺失值164
實訓2合並線損、用電量趨勢與線路告警數據164
實訓3標准化建模專家樣本數據164
課後習題165
第6章使用scikit-learn構建模型167
任務6.1使用sklearn轉換器處理數據167
6.1.1載入datasets模塊中的數據集167
6.1.2將數據集劃分為訓練集和測試集170
6.1.3使用sklearn轉換器進行數據預處理與降維172
6.1.4任務實現174
任務6.2構建並評價聚類模型176
6.2.1使用sklearn估計器構建聚類模型176
6.2.2評價聚類模型179
6.2.3任務實現182
任務6.3構建並評價分類模型183
6.3.1使用sklearn估計器構建分類模型183
6.3.2評價分類模型186
6.3.3任務實現188
任務6.4構建並評價回歸模型190
6.4.1使用sklearn估計器構建線性回歸模型190
6.4.2評價回歸模型193
6.4.3任務實現194
小結196
實訓196
實訓1使用sklearn處理wine和wine_quality數據集196
實訓2構建基於wine數據集的K-Means聚類模型196
實訓3構建基於wine數據集的SVM分類模型197
實訓4構建基於wine_quality數據集的回歸模型197
課後習題198
第7章航空公司客戶價值分析199
任務7.1了解航空公司現狀與客戶價值分析199
7.1.1了解航空公司現狀200
7.1.2認識客戶價值分析201
7.1.3熟悉航空客戶價值分析的步驟與流程201
任務7.2預處理航空客戶數據202
7.2.1處理數據缺失值與異常值202
7.2.2構建航空客戶價值分析關鍵特徵202
7.2.3標准化LRFMC模型的5個特徵206
7.2.4任務實現207
任務7.3使用K-Means演算法進行客戶分群209
7.3.1了解K-Means聚類演算法209
7.3.2分析聚類結果210
7.3.3模型應用213
7.3.4任務實現214
小結215
實訓215
實訓1處理信用卡數據異常值215
實訓2構造信用卡客戶風險評價關鍵特徵217
實訓3構建K-Means聚類模型218
課後習題218
第8章財政收入預測分析220
任務8.1了解財政收入預測的背景與方法220
8.1.1分析財政收入預測背景220
8.1.2了解財政收入預測的方法222
8.1.3熟悉財政收入預測的步驟與流程223
任務8.2分析財政收入數據特徵的相關性223
8.2.1了解相關性分析223
8.2.2分析計算結果224
8.2.3任務實現225
任務8.3使用Lasso回歸選取財政收入預測的關鍵特徵225
8.3.1了解Lasso回歸方法226
8.3.2分析Lasso回歸結果227
8.3.3任務實現227
任務8.4使用灰色預測和SVR構建財政收入預測模型228
8.4.1了解灰色預測演算法228
8.4.2了解SVR演算法229
8.4.3分析預測結果232
8.4.4任務實現234
小結236
實訓236
實訓1求取企業所得稅各特徵間的相關系數236
實訓2選取企業所得稅預測關鍵特徵237
實訓3構建企業所得稅預測模型237
課後習題237
第9章家用熱水器用戶行為分析與事件識別239
任務9.1了解家用熱水器用戶行為分析的背景與步驟239
9.1.1分析家用熱水器行業現狀240
9.1.2了解熱水器採集數據基本情況240
9.1.3熟悉家用熱水器用戶行為分析的步驟與流程241
任務9.2預處理熱水器用戶用水數據242
9.2.1刪除冗餘特徵242
9.2.2劃分用水事件243
9.2.3確定單次用水事件時長閾值244
9.2.4任務實現246
任務9.3構建用水行為特徵並篩選用水事件247
9.3.1構建用水時長與頻率特徵248
9.3.2構建用水量與波動特徵249
9.3.3篩選候選洗浴事件250
9.3.4任務實現251
任務9.4構建行為事件分析的BP神經網路模型255
9.4.1了解BP神經網路演算法原理255
9.4.2構建模型259
9.4.3評估模型260
9.4.4任務實現260
小結263
實訓263
實訓1清洗運營商客戶數據263
實訓2篩選客戶運營商數據264
實訓3構建神經網路預測模型265
課後習題265
附錄A267
附錄B270
參考文獻295
學習筆記
Jupyter Notebook(此前被稱為 IPython notebook)是一個互動式筆記本,支持運行 40 多種編程語言。 Jupyter Notebook 的本質是一個 Web 應用程序,便於創建和共享文學化程序文檔,支持實時代碼,數學方程,可視化和 markdown。 用途包括:數據清理和轉換,數值模擬,統計建模,機器學習等等 。 定義 (推薦學習:Python視頻教程) 用戶可以通過電子郵件,Dropbox,GitHub 和 Jupyter Notebook Viewer,將 Jupyter Notebook 分享給其他人。 在Jupyter Notebook 中,代碼可以實時的生成圖像,視頻,LaTeX和JavaScript。 使用 數據挖掘領域中最熱門的比賽 Kaggle 里的資料都是Jupyter 格式 。 架構 Jupyter組件 Jupyter包含以下組件: Jupyter Notebook 和 ……
本文實例講述了Python實現的微信好友數據分析功能。分享給大家供大家參考,具體如下: 這里主要利用python對個人微信好友進行分析並把結果輸出到一個html文檔當中,主要用到的python包為 itchat , pandas , pyecharts 等 1、安裝itchat 微信的python sdk,用來獲取個人好友關系。獲取的代碼 如下: import itchatimport pandas as pdfrom pyecharts import Geo, Baritchat.login()friends = itchat.get_friends(update=True)[0:]def User2dict(User): User_dict = {} User_dict["NickName"] = User["NickName"] if User["NickName"] else "NaN" User_dict["City"] = User["City"] if User["City"] else "NaN" User_dict["Sex"] = User["Sex"] if User["Sex"] else 0 User_dict["Signature"] = User["Signature"] if User["Signature"] else "NaN" ……
基於微信開放的個人號介面python庫itchat,實現對微信好友的獲取,並對省份、性別、微信簽名做數據分析。 效果: 直接上代碼,建三個空文本文件stopwords.txt,newdit.txt、unionWords.txt,下載字體simhei.ttf或刪除字體要求的代碼,就可以直接運行。 #wxfriends.py 2018-07-09import itchatimport sysimport pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']#繪圖時可以顯示中文plt.rcParams['axes.unicode_minus']=False#繪圖時可以顯示中文import jiemport jieba.posseg as psegfrom scipy.misc import imreadfrom wordcloud import WordCloudfrom os import path#解決編碼問題non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd) #獲取好友信息def getFriends():……
Python數據分析之雙色球基於線性回歸演算法預測下期中獎結果示例
本文實例講述了Python數據分析之雙色球基於線性回歸演算法預測下期中獎結果。分享給大家供大家參考,具體如下: 前面講述了關於雙色球的各種演算法,這里將進行下期雙色球號碼的預測,想想有些小激動啊。 代碼中使用了線性回歸演算法,這個場景使用這個演算法,預測效果一般,各位可以考慮使用其他演算法嘗試結果。 發現之前有很多代碼都是重復的工作,為了讓代碼看的更優雅,定義了函數,去調用,頓時高大上了 #!/usr/bin/python# -*- coding:UTF-8 -*-#導入需要的包import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport operatorfrom sklearn import datasets,linear_modelfrom sklearn.linear_model import LogisticRegression#讀取文件d……
以上就是本次介紹的Python數據電子書的全部相關內容,希望我們整理的資源能夠幫助到大家,感謝大家對鬼鬼的支持。
注·獲取方式:私信(666)