跳到主要內容

發表文章

目前顯示的是 2016的文章

[python] 字串格式 cheatsheet

字串格式化實在太常用了啦! 很多數字要 print 的時候都需要做個轉換,我自己最常用的大概就是像這樣: a= 3.1155 print u"這是一個浮點值: %f , 這是另一個浮點值 %.4f " %( a, 0.12345678) 這樣子會顯示 >>> 這是一個浮點值 3.1155 , 這是另一個浮點值 0.1235 >>> 相當方便的東西!

[python] matplotlib 製圖範例

身為數據分析的工程師,除了把解算資料跟處理演算法,另外需要學習的就是怎麼 "出一張好圖" 的能力了吧! 還好有 matplotlib 的方便好用,讓我出圖沒煩惱XD 不過總覺得對於常用的選項參數都設定的不是很好...原本都只是把資料進去之後,做個 plt.show() 就好了。

[python] pip 失敗的解決方法 (安裝 geopandas)

今天原本想要來嘗試新模組 geopandas 來玩看看的,結果千年一招的: pip install geopandas 竟然給我出錯="= 好吧,反正也不是第一次,就 google 了一下 geopandas can't pip  看看結果。 結果我果然要我安裝完這些東西才能用....

[python] 一條命令打包 python script 檔案!

想要把檔案打包出來,讓同事也可以在沒有 python 的情況下使用,原本想用 py2exe 的....但是後來覺得這個命令比較好用XD 那就是 pyinstaller ! 這個模組真的很神,什麼都不用另外寫,在 terminal 打一條命令就好了。 打包檔案命令: 先 pip install pyinstaller 然後把 terminal 切換到要打包的 script 目錄下面,輸入 pyinstaller --onefile file_you_want.py 然後就會跑出一堆這個....依照你有import 的東西開始東包西包的,import 的多寡會決定你的打包速度。 等到結束,可以發現在目錄底下出現 dist 資料夾,裡面就是檔案了喔! 我只是打包個簡單格式轉換程式就有了63mb,因為包了 pandas 檔案一個肥大啊...

[matplotlib] 製作360角度圖

因為幫同事寫程式,剛好訓練到自己的出圖能力XD 資料類型是 角度vs 半徑,想要產出環形的圖。 成果如下:

[python] unicode 編碼問題

備份一下十分實用的文章 在解釋 utf-8 編碼上面相當實用~

[python] 史上最強移動平均法!!

移動平均法! 今天為了幫我的 IMU 做點低通濾波,跑去查了一下資料。 由於有人推薦使用 移動平均法去計算,我就稍微查了一下,發現了這個 code ... import numpy as np def moving_average(a, n=3) :     ret = np.cumsum(a, dtype=float)     ret[n:] = ret[n:] - ret[:-n]     return ret[n - 1:] / n

[python] 安裝 scipy

終於來到這一天,要來安裝 scipy 了。 其實之前就隱隱約約一直覺得 身為做資料分析的工程師, Python 數據分析三本柱 (numpy, scipy, matplotlib ) 應該早就該備好的東西。 matplotlib 跟 numpy 我都可以用 pip 但是每次要安裝 scipy 的時候都會遇上不支援 whl的問題,在公司也都是用 windows,沒辦法用 brew, pip 不下來, git 也報錯,真的很煩。

[SQL] SQL基本語法

撰寫順序 /***************** * SELECT ******************/ -- 選取所有員工資料 SELECT * FROM `emp` ; -- 選取所有員工的 員工編號, 姓名, 性別 SELECT EmpID, Name, Gender FROM emp SELECT EmpID, Name, IF(Gender=0, "男", "女") FROM emp SELECT EmpID, Name, IF(Gender=0, "男", "女") AS Gender2 FROM emp -- 選取所有員工的 員工編號, 姓名+職稱, 性別 SELECT EmpID, concat(Name, " ", Title, " ", IF(gender=0, "先生", "小姐")), Gender FROM emp

[raspberrypi] 樹莓派3b+ "紅白君" 初始設定!!

繼上次拿到樹莓派3b+組裝完成後,一直沒時間去驅動它,剛好昨天跑去買了一張 mini SD卡(不得不說現在SD卡真是便宜到爆炸 32G 創見SD卡才350,還附轉卡,真是超級划算XD),今天就直接來驅動看看。 你看看!紅白君 4不4 豪可愛XDD

[python] numpy 基本用法:創建矩陣

由於要開始做資料分析與出圖(這是一個RD要包焊包安裝包資料分析跟解算的年代...),身為 Python 腦粉的我一定要來接觸一下傳說中的模組: numpy ! 別人都說處理 numpy的方式跟 matlab 有 87%相似,小弟自己在碩士的時候是有學一點點 matlab,不過早就忘光了啦!於是又上網努力搜尋資料與教學影片來自學...我最喜歡自幹惹(誤) 起手教學是看 周莫煩的numpy & pandas 教學 ,基本的用法講解得相當易懂,但是還是一樣比較不夠深入,不過對於我這個 numpy 新手來說夠用了啦! 基本用法當然是先去 pip install numpy 還是抓 tar 來安裝之類的都可以,不過我自己用 pip 安裝 numpy 沒有問題,反而在 pip scipy 的時候一直出錯覺得火大,網路上的解法也都解不掉,可能之後就轉用 anaconda 可能簡單快速的多 ="= 總之 抓完 numpy 之後就先 import numpy as np 吧!

[RaspberryPi] 樹苺派3b+開箱文!

公司的樹苺派君玩弄久了(樹苺派君: 瞪),手癢真的覺得應該入手一台來玩玩XD 因為最近也都忙學架站的東西,想要架一個匿名論壇伺服器給公司用(我最喜歡聽小秘密了),所以覺得用樹苺派君來架站應該不錯,反正供電少,不吃太多電費,調整又方便(linux嘛!) 這次買的是樹苺派3b+,規格比起2b+真是大放送,多了wifi、藍芽、CPU 等級從 900mHz 升到 1200mHz,價格還不變!真的太神啦! 之前就一直想買想買,這次心一狠就向 台灣樹苺派 訂購下去了。台灣樹苺派真的很用心,擴充套件相當齊全(雖然訂購頁面鳥鳥的="=),另還有舉辦各種的教學討論會,教你怎麼上手這調皮的小玩意兒XD,是您闔家歡樂的好選擇!(誤)

[Python] threading 範例

總算把程式碼弄了一個段落,還是想要破解之前一直搞不懂的 threading 多線程物件到底要怎麼用,剛好看到 youtube 的教學 "  学会多线程 python threading教学 学习教程  " 教學簡單明瞭,但是我個人覺得在概念與整體架構的介紹詳細程度上不是很完善,主打快速上使用吧,總之我是看了XD,然後自己練習了一下。 其實有範例 Code 之後就懂很快,也可以把基本的 Thread 物件與 Lock物件兜出來,了卻一樁小小心願這樣XD Code 如下:

[心得] 對於FB上面,醫療人員面對的恐龍家長一文

恐龍家長!? 今天在FB上面看到了一篇文章,關於這次的八仙塵暴的傷患家屬,極盡誇張的要求並咆嘯醫護人員,要求不合理的待遇。 恐龍家長是該被譴責的,的確,如部分的網友回應:這不是我們欠你們的!你們憑什麼要求這麼多不合理的醫療資源,更何況用令人難以接受的態度去強制命令醫護人員該做什麼!!

[RaspberryPI] 一鍵啟動 .py 文件

先講總結: 樹莓派君你好討厭啊啊啊啊! 今天把程式整理完之後,心血來潮,想要把 程式弄得更 "一鍵啟動" 一點。 也就是我只要用我的觸控螢幕一點,就可以直接打開寫好的 QT 介面做 IMU 和 相機的紀錄 親手烘培(?) 的 QT 介面

[電銲] 自己的 IMU 自己焊!笨蛋的焊接法!

工程師真的是被要求包山包海都要會... IMU的組件被要求不能只插麵包板,要 "穩固的固定在另外製作的盒子裡",反正就是搞得跟外面幾十萬上下的 IMU 一樣精緻就是了。 好好好都焊給你~ 呃 對了 怎麼焊哈哈哈哈 ^^" 電焊這種技術自從上過國中的生活科技後就再也沒再用了@@,好家在這是個網路就是你家的時代,立刻上網查一查,找到一些關於焊槍使用的相關資料。 被要求說GY-91不能只接麵包板一定焊死才穩固所以就這樣接了

[Linux] 清除系統垃圾指令

可能因為安裝一些有的沒的,總覺得樹莓派 in Rasbian 有種越來越慢的趨勢,所以去網上搜尋清除 Linux 系統垃圾,得到以下答案(轉自 Jiaozn的博客 ): " 使用過Windows的人都知道,在使用windows系統的過程中系統會變得越來越慢。而對於Windows下飽受詬病的各種垃圾文件都需要自己想辦法刪除,不然系統將會變得越來越大,越來越遲鈍!windows怎麼清理垃圾相信大家都知道的,那麼linux下怎麼清理系統垃圾呢? Linux的文件系統比Windows的要優秀,不會產生碎片,對於長時間運行的服務器來說尤為重要,而且Linux系統本身也不會像Windows一樣產生大量的垃圾文件。不知道這個說法有沒有可信度!至少我們可以確定的是linux系統的文件系統是比較優秀的! "

[Python] pyqt4 骨架

紀錄一些用法...好難喔QQ 基本的教學可以從 YouTube 頻道搜尋    "PyQt with Python GUI Programming tutorial" 上手很快的~ # 105/7/28 更新: 更改架構-> 讓我自己寫新 QT 比較快

[Python] PyQt4 真的是神! 真的是難!

延續標題,參考文件還真的很少!! 為了這廝(PyQt4) 我連580P的原文書都在嗑,吐血~~~ 先檢附基本形式 # code from import sys, time from PyQt4.QtCore import * from PyQt4.QtGui import *

[Python] 常忘記的用法

因為自己也剛學 Python (從 Cousera 第一堂基礎 Python 課開始大概 7,8 個月吧...),還是有些語法明明看別人用都很好用,自己用都用不上,真的可惜。特此紀錄下一些範例後續自己參考用。 join() >>> p = "pad" >>> p = "o".join((p[:1], p[2:]))  >>> p  'pod' Class 的基本內建 method  摘自  Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming

[RaspberryPI] 螢幕小鍵盤我搞不懂你啊~!

因為工作上開發需求,一直都是把樹莓派君連接鍵盤滑鼠在使用,但是仔細想想-這樣很不行動化啊!!! 太失去樹莓派君的本意了,所以跑去 google "RaspberryPi touch screen keyboard",其實是蠻多選擇的,但是看到UI上覺得最中意的還是這款 Florence: 讚!光看介面就愉快,立馬安裝不解釋。 sudo apt-get install florence 然後出現在樹莓派君開始視窗的無障礙功能選項(大概是消除不用滑鼠的問題所以分類再無障礙="=),跳出來長這個樣子:

[Python] Struct module的用法

最近又在根據數據寫法奮戰...都在 Arduino 玩過一次寫成把數據寫成 .bin ,沒想到到樹莓派又要玩一次="=。 結果 python 上搞這東西還真的挺困難...還跑去 ptt 發問:  作者  enjoyloli (M)                                             看板  Python  標題  [問題] 矩陣數值寫成bin檔  時間  Wed May  4 17:57:28 2016 ─────────────────────────────────────── 請問各位高手高手高高手 因為最近在研究樹莓派上用i2c 讀取 mpu9250 用了 smbus.i2c.read_block_data 讀出來的資料我用print: [255, 91, 255, 136, 3, 191] 而正確的值是  -164, -119, 959 也就是要先把每兩組數字,比如說第一組: 255, 91,各別轉成16進位: FF, 5B 然後再把 FF5B 轉換成十進位 65371,然後再用65535去減

[Python] Python性能雞湯

第一部分   閱讀  Zen of Python ,在Python解析器中輸入  import this . 一個犀利的Python新手可能會注意到"解析"一詞, 認為Python不過是另一門腳本語言. "它肯定很慢!"  毫無疑問:Python程序沒有編譯型語言高效快速. 甚至Python擁護者們會告訴你Python不適合這些領域. 然而,YouTube已用Python服務於每小時4千萬視頻的請求. 你所要做的就是編寫高效的代碼和需要時使用外部實現(C/C++)代碼. 這裡有一些建議,可以幫助你成為一個更好的Python開發者:  1.  使用內建函數:     你可以用Python寫出高效的代碼,但很難擊敗內建函數. 經查證. 他們非常快速. 2.使用join()連接字符串.       你可以使用 "+" 來連接字符串. 但由於string在Python中是不可變的,每一個"+"操作都會創建一個新的字符串並複製舊內容. 常見用法是使用Python的數組模塊單個的修改字符;當完成的時候,使用 join() 函數創建最終字符串.        >>> #This is good to glue a large number of strings        >>> for chunk in input():        >>>    my_string.join(chunk)  3. 使用Python多重賦值,交換變量       這在Python中即優雅又快速:        >>> x, y = y, x        這樣很慢:        >>> temp = x        >>> x = y        >>> y = temp            4. 儘量使用局部變量       Python 檢索局部變量比檢索全局變量快. 這意味著,避免 "global" 關鍵字.  5. 儘量使用 "in"         使用 "

[Python] import this

The Zen of Python Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!