環境部署
解決pycharm無法匯入當地套件的問題(Unresolved reference ‘tutorial’)
①清除緩衝並重啟(File——>Invalidate Caches\Restart)
②設定來源目錄 基本常識
python3.x中如何?print不換行
print(“祝各位身體健康”, end=’ ,’)
此處以,替換預設的分行符號\n
w =StringVar(),其中w.get 和 w.set()是什麼意思
在Python中,StringVar是可變字串,get()和set()是得到和設定其內容 Tkinter 基本常識 Tkinter百度百科 python GUI編程(Tkinter) Debug
tkinter.messagebox.showinfo doesn’t always work
這是匯入方式的一個問題,如果你直接import tkinter可能會出現如上錯誤,需替換成import tkinter.messagebox或者from tkinter import messagebox。 資料科學 環境部署 Anaconda安裝keras簡記 win7整合顯卡安裝tensorflow1.0傻瓜步驟 基本常識 資料的遊戲:冰與火 如何理解信賴度。 Numpy
numpy.zeros(np.zeros)使用方法–python學習筆記31
用法:zeros(shape, dtype=float, order=’C’)
返回:返回來一個給定形狀和類型的用0填充的數組;
例子:
np.zeros(5)
array([ 0., 0., 0., 0., 0.])
NumPy簡明教程(二、數組2)
reshape函數改變調用數組的形狀並返回該數組
Python中numpy.clip();numpy.fabs()的用法;以及math.pow()的說明
numpy.clip(a,a_min,a_max,a=None)的運用:
方法解釋:Clip(limit)the values in the array.
這個方法會給出一個區間,在區間之外的數字將被剪除到區間的邊緣,例如給定一個區間[0,1],則小於0的將變成0,大於1則變成1.
python numpy中nonzero()的用法
nonzeros(a)返回數組a中值不為零的元素的下標,它的傳回值是一個長度為a.ndim(數組a的軸數)的元組,元組的每個元素都是一個整數數組,其值為非零元素的下標在對應軸上的值。
Python中的axis=0,axis=1
axis=0表述列
axis=1表述行
numpy.newaxis
從字面上是插入新的維度意思
numpy.concatenate
Join a sequence of arrays along an existing axis.
學習NumPy(2)
numpy.NAN來標記不合法的值,也即不是真實的值。 Pandas
【原】十分鐘搞定pandas
pandas使用小結(二)
pandas庫學習筆記(一)Series入門學習
Series 是一個一維數組結構的,可以存入任一一種python的資料類型(integers, strings, floating point numbers, Python objects, etc.)。
pandas教程:[22]填充缺失值
當資料中存在NaN缺失值時,我們可以用其他數值替代NaN,主要用到了DataFrame.fillna()方法
pandas教程:[24]刪除缺失資料
假如資料量比較大或者有冗餘,我們可以刪掉有缺失值的資料,你可以選擇刪除行或者刪除列,用的都是DataFrame.dropna(),當然Series也有dropna方法,用法相同。
《利用python進行資料分析》讀書筆記–第五章 pandas入門
pandas資料結構介紹
兩個資料結構:Series和DataFrame。
Series是一種類似於以為NumPy數組的對象,它由一組資料(各種NumPy資料類型)和與之相關的一組資料標籤(即索引)組成的。可以用index和values分別規定索引和值。如果不規定索引,會自動建立 0 到 N-1 索引。
DataFrame是一種表格型結構,含有一組有序的列,每一列可以是不同的資料類型。既有行索引,又有列索引,可以被看做由Series組成的字典(使用共同的索引)。跟其他類似的資料結構(比如R中的data.frame),DataFrame面向行和列的操作基本是平衡的。其實,DataFrame中的資料是以一個或者多個二維塊存放的(不是列表、字典或者其他)。 PANDAS 資料合併與重塑(join/merge篇) Sklearn 使用sklearn做單機特徵工程
有這麼一句話在業界廣泛流傳:資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已。那特徵工程到底是什麼呢。顧名思義,其本質是一項工程活動,目的是最大限度地從未經處理資料中提取特徵以供演算法和模型使用。 使用sklearn優雅地進行資料採礦
資料採礦通常包括資料擷取,資料分析,特徵工程,訓練模型,模型評估等步驟。使用sklearn工具可以方便地進行特徵工程和模型訓練工作 基於Spark自動擴充scikit-learn (spark-sklearn) Matplotlib Python 3下Matplotlib畫圖legned(圖例)中文顯示亂碼的解決方案
①在電腦中找到字型,選擇一種中文字型
②右鍵可以查看其屬性從而得知字型名稱
③然後在程式中定義Matplotlib的字型管理,這裡將其命名為zhfont1,代碼如下:
zhfont1 = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\simkai.ttf')
④最後在legend中通過prop參數進行調用:
plt.legend(prop=zhfont1)
Matplotlib Tutorial(譯)
一個映像(figure)意味著使用者介面的整個視窗。在一個映像中可以有些子區(subplot)。subplot將繪圖放置在常規的網格位置上而axes允許更自由的放置。
matplotlib 可視化 —— 移動座標軸(中心位置)
matplotlib學習筆記–Legend
顯示圖例 Debug
UnicodeDecodeError : ‘ascii’ codec can’t decode byte 0xe0 in position 0: ordinal not in range(128)
在anaconda shell 裡面使用pip install 總是報錯’ascII’ can’t decode,該如何解決。
可以嘗試升級下anaconda版本哦。。。
‘builtin_function_or_method’ object is not subscriptable
萬一是小括弧誤寫成中括弧呢。 P.K.
numpy 辨異 (五)—— numpy.ravel() vs numpy.flatten()
首先聲明兩者所要實現的功能是一致的(將多維陣列降位一維),兩者的區別在於返回拷貝(copy)還是返回視圖(view),numpy.flatten()返回一份拷貝,對拷貝所做的修改不會影響(reflects)原始矩陣,而numpy.ravel()返回的是視圖(view,也頗有幾分C/C++引用reference的意味),會影響(reflects)原始矩陣。
Python基礎——min/max與np.argmin/np.argmax
這裡應該是拿min/max(更適合處理可迭代對象,可選的參數是key=func)與np.min/np.max(可適合處理numpy.ndarray對象,可選的參數是axis=0或者1)作比較,只不過np.argmin/np.argmax的用法與np.min/np.max相似,這裡就不進行更正了。
①函數的功能不同
前者傳回值,後者返回最值所在的索引(下標)
②處理的對象不同
前者更適合處理list等可迭代對象,而後者自然是numpy裡的核心資料結構ndarray(多維陣列)
③函數類型不同
min/max是Python內建的函數
np.argmin/np.argmax是numpy庫中的成員函數
④介面不同
min(iterable, key=func)->value
np.argmin(a, axis=None)
常見的介面如上所示,前者除了一個可迭代對象外,還接收一個函數對象(keyword argument),用於指定比較的對象(也即最值比較的內容是,將迭代對象中的元素逐個賦予func函數對象所得到傳回值),可見func只可接受一個參數,如min(dict, key=dict.get)。而np.argmax更多的是進行軸上的比較(axis=0,也是預設的軸,是列向)
python中arange()和linspace()區別
arange()類似於內建函數range(),通過指定開始值、終值和步長建立表示等差數列的一維數組,注意得到的結果數組不包含終值。
linspace()通過指定開始值、終值和元素個數建立表示等差數列的一維數組,可以通過endpoint參數指定是否包含終值,預設值為True,即包含終值。
[numpy]split()和array_split()
功能與split一樣,唯一的區別是 array_split allows indices_or_sections to be an integer that does not equally divide the axis.(也就是說,你有一個array,裡面如果有9個元素,你想把它分成3份,split和array_split都沒有問題,每份3個元素唄,但如果你想把它分成2份,那麼問題來了,我不能一份4.5個吧,所以這時候split就會報錯,而array_split可以實現這種不均等的分割,比如第一份5個,第二份4個) 實戰演練 1. Python將圖片轉換成字元畫
Python將圖片轉換為字元畫 Debug
如果你沒有PIL模組,想通過pip進行安裝的話,可能會報錯如下:
could not find a version that satisfies the requirement……
於是手動到官網下載(註:此處沒有x64版本可下載,只能下載32位的了),下載得到PIL-1.1.7.win32-py2.7.exe,
就像作者的第二篇文章所述:
Python安裝第三方庫PIL時失敗的解決辦法
但也許,我們未必如作者般那麼幸運:手動安裝,會自動識別之前安裝的Python路徑,一路預設就可以了
興許還會半路來個攔路虎,比如這個:
此時,你可能需要執行下如下文章所述的指令碼:
【已解決】PIL安裝異常 “python version 2.7 required, which was not found in the registry.”
然而,當你以為一切都大功告成時,滿心歡喜地run了起來,也許還會蹦出個這個:
ImportError: The _imaging C module is not installed
那就pip install pillow下吧~
PIL The _imaging C module is not installed 2. Python3+requests爬取百度貼吧文章
Python2.7網路爬蟲—簡單的爬取百度貼吧的小爬蟲
(注:如上文作者是通過Python2.7+urllib2進行爬取的) 基本常識
Python zfill()方法
Python zfill() 方法返回指定長度的字串,原字串靠右對齊,前面填充0。
python3中raw_input()變成了input()
Python3使用requests包抓取並儲存網頁源碼的方法 Debug
我的一個初衷是:我爬取下來的html,瀏覽器開啟後內容圖片和中文都可以正常的顯示,而不是亂碼或者content的位元組所以當初衷達不到的時候,一開始的懷疑點落在了requests庫的中文編碼上了:
程式碼分析Python requests庫中文編碼問題
然而當按照如上文所述的編碼格式進行設定後,依舊不能如願,於是乎,就想著會不會是我想開啟寫入的那個檔案的編碼問題呢。於是參考如下文章,得以如願:
python自然語言編碼轉換模組codecs介紹
用codecs提供的open方法來指定開啟的檔案的語言編碼,它會在讀取的時候自動轉換為內部unicode
file = codecs.open("dddd.txt", 'r', "utf-8")
如果使用語言內建的open函數來開啟檔案,輸出必定是亂碼。