Re: [請益] 請問Python在業界都用來寫什麼居多?
※ 引述《yauhh (喲)》之銘言:
: ※ 引述《OoShiunoO (機機勳)》之銘言:
: : 小弟剛接觸Python一個月,主要是用它的機器學習套件來作資料分析
: : 用了之後感覺是很好用的一種語言
: : 但是似乎有一種感覺,它不算是一種用來寫大型程式的語言
: : 感覺它好像是用來做小工作 小事情的一種語言
: : 所以小弟好奇,在業界,大家都是用Python來幹嘛比較多呢..?
: 想延伸這個問題。你覺得什麼樣的語言才叫做「用來寫大型程式的語言」?
: 以前只有 Fortran 的年代,只有 Algol60 的年代,小的,大的都用那個寫。
: 我想問這個問題,想法是,語言要呈現什麼樣的特徵,你會覺得它是個大器的東西。
: 至於執行的速度,應該要排除在語言的選擇之外。
: 看到前面的討論,都說 Python 寫很快但是有效能的狀況。
: 但是,我覺得這樣想是很偏的。
: 你來嘗試 Python ,不是因為考慮 C 的效能,但卻
: 可能是考慮到 C 語言本身是不是很好寫。
: 但是, Python 寫出來的東西 OK 了,
: 後來在大量使用的時候遇到效能爆炸的情況時,
: 為什麼卻沒有想想,在同樣要觸發效能爆炸的情況下,也許是大量資料或大量使用,
: C 有多少比較好?
: 也許只是你不知道如何去調整好 Python 的效能啊,是吧。
Script language 適合作驗證, 不適合作產品, 撐不起量.
正如作image processing 的,很多人愛用matlab, 但該不會有人拿它作產品吧?
更別說OpenCV拿來當底的(大陸就幹過了)一樣慢.
而處理大量(GB以上)資料以python 要快, 還望你來一篇教學一下.
以下轉來的(加了點修改)
我很喜歡用python,用python處理數據是家常便飯,從事的工作涉及nlp,
算法,推薦,數據挖掘,數據清洗,數據量級從幾十k到幾T不等,我來說說吧
百萬級別數據是小數據,python處理起來不成問題,python處理數據還是有些問題的
Python處理大數據的劣勢:
1. python線程有gil,通俗說就是多線程的時候只能在一個核上跑,
浪費了多核服務器。在一種常見的場景下是要命的:並發單元之
間有巨大的數據共享或者共用(例如大dict),多進程會導致內存吃緊
,多線程則解決不了數據共享的問題,單獨的寫一個進程之間負責維護
讀寫這個數據不僅效率不高而且麻煩
2. python執行效率不高,在處理大數據的時候,效率不高,這是真的,
pypy(一個jit的python解釋器,可以理解成腳本語言加速執行的東西)能
夠提高很大的速度(可以快10倍),但是pypy不支持很多python經典的包,
例如numpy
3. 絕大部分的大公司,用java處理大數據不管是環境也好,積累也好,
都會好很多
Python處理數據的優勢(不是處理大數據):
1. 異常快捷的開發速度,代碼量巨少
2. 豐富的數據處理包,不管正則也好,html解析啦,xml解析啦,用起來非常方便
3. 內部類型使用成本巨低,不需要額外怎麼操作(java,c++用個map都很費勁)
4. 公司中,很大量的數據處理工作工作是不需要面對非常大的數據的
5. 巨大的數據不是語言所能解決的,需要處理數據的框
架(hadoop, mpi。。。。)雖然小眾,但是python還是有
處理大數據的框架的,或者一些框架也支持python
6. 編碼問題處理起來太太太方便了
綜上所述:
1. python可以處理大數據
2. python處理大數據不一定是最優的選擇
3. python和其他語言(公司主推的方式)並行使用是非常不錯的選擇
4. 因為開發速度,你如果經常處理數據,而且喜歡linux終端,而且
經常處理不大的數據(100m一下),最好還是學一下python
python數據處理的包:
1. 自帶正則包, 文本處理足夠了
2. cElementTree, lxml 默認的xml速度在數據量過大的情況下不足
3. beautifulsoup 處理html
4. hadoop(可以用python) 並行處理,支持python寫的map reduce,足夠了,
順便說一下阿里巴巴的odps,和hadoop一樣的東西,支持python寫的udf,
嵌入到sql語句中
5. numpy, scipy, scikit-learn 數值計算,數據挖掘
6. dpark(搬樓上的答案)類似hadoop一樣的東西
1,2,3,5是處理文本數據的利器(python不就處理文本數據方便嘛),
4,6是並行計算的框架(大數據處理的效率在於良好的分佈計算邏輯,而不是什麼語言)
暫時就這些,最好說一個方向,否則不知道處理什麼樣的數據也不好推薦包,
所以沒有頭緒從哪裡開始介紹這些包
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.120.230
※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1412979844.A.A8D.html
→
10/11 08:32, , 1F
10/11 08:32, 1F
→
10/11 08:32, , 2F
10/11 08:32, 2F
推
10/11 09:23, , 3F
10/11 09:23, 3F
→
10/11 10:04, , 4F
10/11 10:04, 4F
→
10/11 10:06, , 5F
10/11 10:06, 5F
→
10/11 10:07, , 6F
10/11 10:07, 6F
→
10/11 10:07, , 7F
10/11 10:07, 7F
→
10/11 10:08, , 8F
10/11 10:08, 8F
→
10/11 10:24, , 9F
10/11 10:24, 9F
→
10/11 10:24, , 10F
10/11 10:24, 10F
→
10/11 10:25, , 11F
10/11 10:25, 11F
→
10/11 10:30, , 12F
10/11 10:30, 12F
→
10/11 10:31, , 13F
10/11 10:31, 13F
→
10/11 10:32, , 14F
10/11 10:32, 14F
→
10/11 10:33, , 15F
10/11 10:33, 15F
→
10/11 10:33, , 16F
10/11 10:33, 16F
推
10/11 10:37, , 17F
10/11 10:37, 17F
推
10/11 10:54, , 18F
10/11 10:54, 18F
→
10/11 10:54, , 19F
10/11 10:54, 19F
推
10/11 11:13, , 20F
10/11 11:13, 20F
→
10/11 11:16, , 21F
10/11 11:16, 21F
→
10/11 11:31, , 22F
10/11 11:31, 22F
→
10/11 12:09, , 23F
10/11 12:09, 23F
→
10/11 12:10, , 24F
10/11 12:10, 24F
→
10/11 12:10, , 25F
10/11 12:10, 25F
→
10/11 15:02, , 26F
10/11 15:02, 26F
→
10/11 15:04, , 27F
10/11 15:04, 27F
→
10/11 15:04, , 28F
10/11 15:04, 28F
→
10/11 15:09, , 29F
10/11 15:09, 29F
→
10/11 15:19, , 30F
10/11 15:19, 30F
→
10/11 15:20, , 31F
10/11 15:20, 31F
→
10/11 15:21, , 32F
10/11 15:21, 32F
推
10/12 02:30, , 33F
10/12 02:30, 33F
→
10/12 07:11, , 34F
10/12 07:11, 34F
推
10/12 18:01, , 35F
10/12 18:01, 35F
→
10/13 10:59, , 36F
10/13 10:59, 36F
討論串 (同標題文章)