狠狠操夜夜甜|人妻在线中文字幕亚洲无码不卡av|一区二区欧美亚洲|日躁夜躁狠狠躁2001|亚洲,超碰,欧美|18AV成人电影|午夜成人免费在线|婷婷激情网深爱五月|色欲综合成人在线|在线美女搞黄大片

中企動力 > 頭條 > python數(shù)據(jù)分析開源

網(wǎng)站性能檢測評分

注:本網(wǎng)站頁面html檢測工具掃描網(wǎng)站中存在的基本問題,僅供參考。

python數(shù)據(jù)分析開源

10大Python開源項目推薦 推廣視頻課程

img

萬谷藍

關(guān)注

▌Rank 1:Requests-HTML v0.9(7385 stars on Github,來自Kenneth Reitz)

該庫旨在盡可能簡單直觀地解析 HTML,僅支持 Python 3.6。

項目地址:https://github/kennethreitz/requests-html

▌Rank 2:PyTest v3.5(2453 stars on Github,來自Pytest-dev)

該項目是一個可擴展的 Python 框架,可以輕松編寫小型測試,支持更復(fù)雜的功能測試。

項目地址:https://github/pytest-dev/pytest

▌Rank 3:Lector(327 stars on Github,來自BasioMeusPuga)

基于 Qt 的電子書閱讀器

項目地址:https://github/BasioMeusPuga/Lector

▌Rank 4:Asciinema v2.0(5491 stars on Github,來自Asciinema)

Python 編寫的終端會話錄制器。

項目地址:https://github/asciinema/asciinema

▌Rank 5:Snips-nlu v0.13(1416 stars on Github,來自Snips)

Snips-nlu 是一個 Python 庫,可以解析用自然語言編寫的句子并提取結(jié)構(gòu)化信息。

項目地址:https://github/snipsco/snips-nlu

▌Rank 6:Black(1665 stars on Github,來自ukasz Langa)

Python 代碼格式化工具庫。

項目地址:https://github/ambv/black

▌Rank 7:Instagram-terminal-news-feed(690 stars on Github,來自Bill Cheng)

Instagram Terminal Feed

項目地址:https://github/billcccheng/instagram-terminal-news-feed

▌Rank 8:Makesite(481 stars on Github,來自Sunaina Pai)

適合 Python 工程師的簡單、輕量級靜態(tài)網(wǎng)站/博客生成器。

項目地址:https://github/sunainapai/makesite

▌Rank 9:Twitter-scraper(832 stars on Github,來自Kenneth Reitz)

Python 寫的 Twitter 爬蟲工具,無 API 流速限制,非常高效,可輕松獲取任何用戶的推文。

項目地址:https://github/kennethreitz/twitter-scraper

▌Rank 10:Fast-Pandas(667 stars on Github,來自M. Mansour)

Pandas 是為數(shù)據(jù)科學(xué)家和開發(fā)人員提供的最靈活、最強大的工具之一。開發(fā)者可通過幾種方式執(zhí)行特定的任務(wù)。Fast-Pandas 旨在針對這些情況下的不同可用方法進行基準測試。此外,在 numpy 和 pandas 中都有專門的功能部分。

項目地址:https://github/mm-mansour/Fast-Pandas

原文地址:https://medium.mybridge.co/python-top-10-open-source-of-the-month-v-apr-2018-9e91343756a

GitHub 上最火的 Python 開源項目 行業(yè)視頻課程

img

諾登哈姆

關(guān)注

許多開發(fā)者都有定期瀏覽 GitHub 的習(xí)慣,對于 GitHub 上如此眾多的項目,有人不斷分享,有人不斷 Mark。每個人瀏覽的時候,都會注意到 Star 的數(shù)量,它代表著這個項目的熱度,今天,我們依照 Star 數(shù),盤點 GitHub 上Python 語言中最火的 15 個開源項目,希望對你有幫助,排名如下:

1

機器學(xué)習(xí)系統(tǒng) tensorflow

https://github/tensorflow/tensorflowStar 68481

Google 的 TensorFlow 是最流行的開源 AI 庫之一。它的高計算效率,豐富的開發(fā)資源使它被企業(yè)和個人開發(fā)者廣泛采用。TensorFlow 是一個采用數(shù)據(jù)流圖,用于數(shù)值計算的開源軟件庫。TensorFlow 最初由Google 大腦小組(隸屬于 Google 機器智能研究機構(gòu))的研究員和工程師們開發(fā)出來,用于機器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)方面的研究,但這個系統(tǒng)的通用性使其也可廣泛用于其他計算領(lǐng)域。

2

oh-my-zsh

https://github/robbyrussell/oh-my-zshStar 58473

oh-my-zsh 是基于 zsh 的功能做了一個擴展,方便的插件管理、主題自定義,以及漂亮的自動完成效果。 Zsh 和 bash 一樣,是一種 Unix shell,但大多數(shù) Linux 發(fā)行版本都默認使用 bash shell。但 Zsh 有強大的自動補全參數(shù)、文件名、等功能和強大的自定義配置功能。

3

命令行 HTTP 工具包 httpie

https://github/jakubroztocil/httpieStar 31248

HTTPie 是一個命令行 HTTP 客戶端,提供命令行交互方式來訪問 HTTP 服務(wù)。其目標是使CLI 與 Web 服務(wù)的交互盡可能人性化。它提供了一個簡單的 http 命令,允許使用簡單自然的語法發(fā)送任意 HTTP 請求。

4

shell 命令行拓展 thefuck

https://github/nvbn/thefuckhttps://github/nvbn/thefuckStar 30532

首先這個項目的名字就很引人注目,取名為 thefuck 的原因是任何情況下你想說“我操”,你都可以用得到 thefuck。theFuck 是一個高可配置的應(yīng)用,用戶可以開啟或關(guān)閉規(guī)則、配置 UI、設(shè)置規(guī)則選項還有進行其他的操作。Fuck 的 UI 很簡單,它允許用戶通過(上下)箭頭的方式在修正過的命令列表中進行選擇,使用 Enter 來確認選擇,Ctrl+C 來跳出程序。 不足的是在 Python 標準庫中沒有辦法在非 Windows 下不通過 curses 來讀取鍵盤輸入

5

微型 Python 框架 Flask

https://github/pallets/flaskStar 29399

Flask 是一個微型的 Python 開發(fā)的 Web 框架,基于Werkzeug WSGI工具箱和Jinja2 模板引擎。 Flask 使用 BSD 授權(quán)。 Flask 也被稱為“microframework”,因為它使用簡單的核心,用 extension 增加其他功能。Flask 沒有默認使用的數(shù)據(jù)庫、窗體驗證工具。然而,F(xiàn)lask 保留了擴增的彈性,可以用 Flask-extension 加入這些功能:ORM、窗體驗證工具、文件上傳、各種開放式身份驗證技術(shù)。

6

Python Web 框架 Django

https://github/django/djangoStar 27899

Django 是 Python 編程語言驅(qū)動的一個開源模型-視圖-控制器(MVC)風(fēng)格的 Web 應(yīng)用程序框架。但是在Django中,控制器接受用戶輸入的部分由框架自行處理,所以 Django 里更關(guān)注的是模型(Model)、模板(Template)和視圖(Views),稱為 MTV 模式。使用 Django,我們在幾分鐘之內(nèi)就可以創(chuàng)建高品質(zhì)、易維護、數(shù)據(jù)庫驅(qū)動的應(yīng)用程序。

7

jQuery-File-Upload

https://github/blueimp/jQuery-File-UploadStar 27398

jQuery File Upload 是一個 jQuery 圖片上傳組件,支持多文件上傳、取消、刪除,上傳前縮略圖預(yù)覽、列表顯示圖片大小,支持上傳進度條顯示;支持各種動態(tài)語言開發(fā)的服務(wù)器端。

8

Python 的 HTTP 客戶端庫 requests

https://github/requests/requestsStar 27210

requests 是 Python 的一個 HTTP 客戶端庫,跟 urllib,urllib2 類似,那為什么要用 requests 而不用 urllib2 呢?以為 Python 的標準庫 urllib2 提供了大部分需要的 HTTP 功能,但是API太逆天了,一個簡單的功能就需要一大堆代碼。看了 requests 的文檔,確實很簡單,尤其適合懶人。

9

計算機系統(tǒng)配置管理器 ansible

https://github/ansible/ansibleStar 25132

Ansible 提供一種最簡單的方式用于發(fā)布、管理和編排計算機系統(tǒng)的工具,你可在數(shù)分鐘內(nèi)搞定。Ansible 是一個模型驅(qū)動的配置管理器,支持多節(jié)點發(fā)布、遠程任務(wù)執(zhí)行。默認使用 SSH 進行遠程連接。無需在被管理節(jié)點上安裝附加軟件,可使用各種編程語言進行擴展。

10

Web 爬蟲框架 scrapy

https://github/scrapy/scrapyStar 22407

Scrapy 是 Python 開發(fā)的一個快速,高層次的屏幕抓取和 Web 抓取框架,用戶只需要定制開發(fā)幾個模塊就可以輕松的實現(xiàn)一個爬蟲,用來抓取網(wǎng)頁內(nèi)容以及各種圖片,非常之方便。Scrapy用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測和自動化測試。

Scrapy 吸引人的地方在于它是一個框架,任何人都可以根據(jù)需求方便的修改。它也提供了多種類型爬蟲的基類,如 BaseSpider、sitemap 爬蟲等。

11

Python 的機器學(xué)習(xí)項目 scikit-learn

https://github/scikit-learn/scikit-learnStar 20908

scikit-learn 是一個 Python 的機器學(xué)習(xí)項目。是一個簡單高效的數(shù)據(jù)挖掘和數(shù)據(jù)分析工具?;?NumPy、SciPy 和 matplotlib 構(gòu)建?;?BSD 源許可證。scikit-learn 的基本功能主要被分為六個部分,分類,回歸,聚類,數(shù)據(jù)降維,模型選擇,數(shù)據(jù)預(yù)處理。

12

神經(jīng)網(wǎng)絡(luò)庫 keras

https://github/fchollet/kerasStar 19132

Keras 是一個極簡的、高度模塊化的神經(jīng)網(wǎng)絡(luò)庫,采用 Python(Python 2.7-3.5.)開發(fā),能夠運行在 TensorFlow 和 Theano 任一平臺,好項目旨在完成深度學(xué)習(xí)的快速開發(fā)。keras 的幾大特點:文檔齊全、上手快速、純 Python 編寫、關(guān)注度高更新迅速、論壇活躍、就是運行速度不太快,當然,有的人就是不 care 速度。

13

Web 服務(wù)器 Tornado

https://github/tornadoweb/tornadoStar14178

Tornado 是使用 Python 開發(fā)的全棧式(full-stack)Web框架和異步網(wǎng)絡(luò)庫,最早由 Friendfeed 開發(fā)。通過使用非阻塞 IO,Tornado 可以處理數(shù)以萬計的開放連接,是 long polling、WebSockets 和其他需要為用戶維護長連接應(yīng)用的理想選擇。Tornado 跟其他主流的Web服務(wù)器框架(主要是 Python 框架)不同是采用 epoll 非阻塞 IO,響應(yīng)快速,可處理數(shù)千并發(fā)連接,特別適用用于實時的 Web 服務(wù)。

14

Python 解釋器 CPython

https://github/python/cpythonStar 12609

CPython 是用C語言實現(xiàn)的 Python 解釋器,也是官方的并且是最廣泛使用的Python解釋器。除了 CPython 以外,還有用 JAVA 實現(xiàn)的 Jython 和用 .NET 實現(xiàn)的 IronPython,使 Python 方便地和 JAVA 程序、.NET 程序集成。另外還有一些實驗性的 Python 解釋器比如 PyPy。

CPython 是使用字節(jié)碼的解釋器,任何程序源代碼在執(zhí)行之前先要編譯成字節(jié)碼。它還有和幾種其它語言(包括C語言)交互的外部函數(shù)接口。

工具包 CNTK

https://github/Microsoft/CNTKStar 12225

來自微軟公司的 CNTK 工具包的效率,“比我們所見過的都要瘋狂”。 這部分歸功于 CNTK 可借助圖形處理單元(GPU)的能力,微軟自稱是唯一公開“可擴展 GPU”功能的公司。(從單機上的 1 個、延伸至超算上的多個) 在與該公司的網(wǎng)絡(luò)化 GPU 系統(tǒng)(稱之為Azure GPU Lab)匹配之后,它將能夠訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)來識別語音,讓 Cortana 虛擬助理的速度達到以前的十倍。 去年 4 月的時候,CNTK 就已經(jīng)面向研究人員開放,只是當時的開源授權(quán)限制頗多。不過現(xiàn)在,它已經(jīng)徹底開放了,而深度學(xué)習(xí)的初創(chuàng)者們將最為受益。

來自:開源中國

-end-

往期回顧:

iPhone8 下周出擊,嚇得我捂緊了我的腎!以后,在微信里管好自己的嘴,千萬別妄議!

做CIO難!做不踩“坑”的CIO更難!

Gartner發(fā)布技術(shù)成熟曲線:“你剛被人工智能洗腦,最聰明的錢已轉(zhuǎn)向這16項技術(shù)”

記一次驚心動魄的 DNS 緩存引發(fā)的慘案

發(fā)現(xiàn)·前沿 《海外風(fēng)向標》 | 對話·精英 《CXO百腦匯》| 聚焦·行業(yè) 《早安,IDG》| 每周精彩內(nèi)容,盡在e行網(wǎng)。

2018年最火的5大Python開源項目,總有適合你的! 公司視頻課程

img

丹萱

關(guān)注

前幾天看到一條新聞,說是高中生課程里面開設(shè)python課程了,這小孩子都來搶占市場了,這就是打了很多人的臉,特別是已經(jīng)畢業(yè)很多年或者正在學(xué)校的人,小孩子都作為標準的教材來學(xué)習(xí)了,作為過來人還有什么理由說學(xué)不好。讓自己做得多說的少最合適。

說到python現(xiàn)在處于風(fēng)口期,相對來說入門也比較容易。在人工智能以及大數(shù)據(jù)分析上都具備很強的特性。

Python語言易學(xué)易學(xué),高效開發(fā)。Python語言開發(fā)的開源項目非常活躍。下面是五個最活躍的Python開源項目。

1)排名第一,當然是關(guān)于機器學(xué)習(xí)谷歌開源項目tensorflow,TensorFlow是一個對數(shù)值計算的數(shù)據(jù)流圖,對開源項目的統(tǒng)計,這個項目被宣布與一百萬星和叉,被廣泛應(yīng)用于機器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)研究。

2)第二個地方是python的新燒瓶。燒瓶是一個小型的Python Web開發(fā)框架。它是基于WSGI工具箱和jinja2模板引擎,它可以配置和開發(fā)Python網(wǎng)站最靈活快速的。

3。)第三的地方是在Python Web方向的經(jīng)典Django,和Django Web框架,采用m-v-t設(shè)計模式。在Django,由于控制器接受用戶輸入部分由框架本身的處理,所以Django編程更側(cè)重于模型(模型)、模板(模板)和視圖(視圖)。小編推薦一個學(xué)Python的學(xué)習(xí)裙【五八八,零九零,九四二】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)!裙內(nèi)有很多干貨和技術(shù)分享使用Django,我們可以快速創(chuàng)建高質(zhì)量、易維護、數(shù)據(jù)庫驅(qū)動的Web服務(wù)程序,特別是與學(xué)生建立數(shù)據(jù)庫的操作不是很熟悉,寶。

4)是Python的成熟,功能齊全的排在功能測試框架pytest pytest測試框架第四,可以幫助你更好的編寫自動化測試程序,它可以適應(yīng)全功能測試,集成測試復(fù)雜,從簡單的單元測試,以及眾多的支持插件開發(fā)。

5)在數(shù)據(jù)收集工具Scrapy排名第五,Scrapy是一個優(yōu)秀的數(shù)據(jù)網(wǎng)絡(luò)爬蟲框架,用戶只需要定制幾個模塊的開發(fā)可以實現(xiàn)完美的網(wǎng)絡(luò)爬蟲容易,使用它來抓取網(wǎng)頁內(nèi)容的數(shù)據(jù)和各種圖像文件等非常方便;Scrapy還提供各種履帶式基礎(chǔ)的類型,如basespider和站點;Scrapy被廣泛應(yīng)用于數(shù)據(jù)挖掘、網(wǎng)絡(luò)監(jiān)控和自動測試等。

以上排名是基于代碼提交和叉活動的排名,只反映了開源代碼的流行,企業(yè)市場應(yīng)用不熱,注意差異,你必須根據(jù)自己的需要選擇適合你的項目的python開源框架和工具。

不管你是懷著什么目的,求職加薪,或者是興趣。首先你得準備吃苦的思想準備。學(xué)編程語言是枯燥的,得持之以恒。如果學(xué)python都是從入門到放棄,那么學(xué)其它東西會更難。

還需要有些自學(xué)能力,出現(xiàn)問題,自己嘗試解決。多加練習(xí),在練習(xí)和不斷挫折中理解和掌握,熟能生巧。

不要急躁,真正能為你所用的技能,不是一朝一夕速成的。真正能被你吸收的養(yǎng)分,不是別人嚼爛了給你。你自己體會到的知識,才會被你吸收,在大腦里停留許久。

TOP 3大開源Python數(shù)據(jù)分析工具! 行業(yè)視頻課程

img

賴莫茗

關(guān)注

[來自IT168]  【IT168 評論】在大數(shù)據(jù)庫領(lǐng)域,Python是最常被使用的編程語言,因此了解與其相關(guān)的數(shù)據(jù)分析工具是很有必要的。如果你正在使用virtualenv、pyenv或其他變體在自己的環(huán)境中運行Python,那么,可以嘗試本文推薦的三大開源工具?! ?注:本文示例使用IPython,如果感興趣,請確保已經(jīng)安裝)  $ mkdir python-big-data  $ cd python-big-data  $ virtualenv ../venvs/python-big-data  $ source ../venvs/python-big-data/bin/activate  $ pip install ipython  $ pip install pandas  $ pip install pyspark  $ pip install scikit-learn  $ pip install scipy  本文選取的示例數(shù)據(jù)是最近幾天從某網(wǎng)站獲取的實際生產(chǎn)日志數(shù)據(jù),從技術(shù)層面來看,這些數(shù)據(jù)并不能算作是大數(shù)據(jù),因為它的大小只有大約2Mb,但就演示來說已經(jīng)足夠了?! ∪绻阆氆@取這些示例數(shù)據(jù),可以使用git從作者的公共GitHub存儲庫中下載:admintome / access-log-data  $ git clone https://github/admintome/access-log-data.git  數(shù)據(jù)是一個簡單的CSV文件,因此每行代表一個單獨的日志,字段用逗號分隔:  2018-08-01 17:10,'www2','www_access','172.68.133.49 - - [01/Aug/2018:17:10:15 +0000] "GET /wp-content/uploads/2018/07/spark-mesos-job-complete-1024x634.png HTTP/1.0" 200 151587 "https://dzone/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"'  以下是日志行架構(gòu):

由于對數(shù)據(jù)可執(zhí)行的操作的復(fù)雜性不確定,因此本文重點選取加載數(shù)據(jù)和獲取數(shù)據(jù)樣本兩個操作來講解三個工具。  1、Python Pandas  我們討論的第一個工具是Python Pandas。正如它的網(wǎng)站所述,Pandas是一個開源的Python數(shù)據(jù)分析庫。它最初由AQR Capital Management于2008年4月開發(fā),并于2009年底開源,目前由專注于Python數(shù)據(jù)包開發(fā)的PyData開發(fā)團隊繼續(xù)開發(fā)和維護,屬于PyData項目的一部分。Pandas最初被作為金融數(shù)據(jù)分析工具而開發(fā)出來,因此,pandas為時間序列分析提供了很好的支持。  首先,啟動IPython并對示例數(shù)據(jù)進行一些操作。(因為pandas是python的第三方庫所以使用前需要安裝一下,直接使用pip install pandas 就會自動安裝pandas以及相關(guān)組件)

import pandas as pd  headers = ["datetime", "source", "type", "log"]  df = pd.read_csv('access_logs_parsed.csv', quotechar="'", names=headers)  大約一秒后,我們會收到如下回復(fù):  [6844 rows x 4 columns]  In [3]:  如上所見,我們有大約7000行數(shù)據(jù),它從中找到了四個與上述模式匹配的列。  Pandas自動創(chuàng)建了一個表示CSV文件的DataFrame對象,Pandas中的DataFrame數(shù)據(jù)既可以存儲在SQL數(shù)據(jù)庫中,也可以直接存儲在CSV文件中。接下來我們使用head()函數(shù)導(dǎo)入數(shù)據(jù)樣本?! n [11]: df.head()  Out[11]:  datetime source type log  0 2018-08-01 17:10 www2 www_access 172.68.133.49 - - [01/Aug/2018:17:10:15 +0000]...  1 2018-08-01 17:10 www2 www_access 162.158.255.185 - - [01/Aug/2018:17:10:15 +000...  2 2018-08-01 17:10 www2 www_access 108.162.238.234 - - [01/Aug/2018:17:10:22 +000...  3 2018-08-01 17:10 www2 www_access 172.68.47.211 - - [01/Aug/2018:17:10:50 +0000]...  4 2018-08-01 17:11 www2 www_access 141.101.96.28 - - [01/Aug/2018:17:11:11 +0000]...  使用Python Pandas可以做很多事情, 數(shù)據(jù)科學(xué)家通常將Python Pandas與IPython一起使用,以交互方式分析大量數(shù)據(jù)集,并從該數(shù)據(jù)中獲取有意義的商業(yè)智能?! ?、PySpark  我們討論的第二個工具是PySpark,該工具來自Apache Spark項目的大數(shù)據(jù)分析庫?! ySpark提供了許多用于在Python中分析大數(shù)據(jù)的功能,它自帶shell,用戶可以從命令行運行?! ? pyspark  這會加載pyspark shell:  (python-big-data)[email protected]:~/Development/access-log-data$ pyspark Python 3.6.5 (default, Apr 1 2018, 05:46:30) [GCC 7.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. 2018-08-03 18:13:38 WARN Utils:66 - Your hostname, admintome resolves to a loopback address: 127.0.1.1; using 192.168.1.153 instead (on interface enp0s3) 2018-08-03 18:13:38 WARN Utils:66 - Set SPARK_LOCAL_IP if you need to bind to another address 2018-08-03 18:13:39 WARN NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /__ / .__/\_,_/_/ /_/\_\ version 2.3.1 /_/ Using Python version 3.6.5 (default, Apr 1 2018 05:46:30) SparkSession available as 'spark'. >>>  當你啟動shell時,你會得到一個Web GUI查看你的工作狀態(tài),只需瀏覽到http:// localhost:4040即可獲得PySpark Web GUI。

讓我們使用PySpark Shell加載示例數(shù)據(jù):  dataframe = spark.read.format("csv").option("header","false").option("mode","DROPMALFORMED").option("quote","'").load("access_logs.csv")  dataframe.show()  PySpark提供了已創(chuàng)建的DataFrame示例:  >>> dataframe2.show()  +----------------+----+----------+--------------------+  | _c0| _c1| _c2| _c3|  +----------------+----+----------+--------------------+  |2018-08-01 17:10|www2|www_access|172.68.133.49 - -...|  |2018-08-01 17:10|www2|www_access|162.158.255.185 -...|  |2018-08-01 17:10|www2|www_access|108.162.238.234 -...|  |2018-08-01 17:10|www2|www_access|172.68.47.211 - -...|  |2018-08-01 17:11|www2|www_access|141.101.96.28 - -...|  |2018-08-01 17:11|www2|www_access|141.101.96.28 - -...|  |2018-08-01 17:11|www2|www_access|162.158.50.89 - -...|  |2018-08-01 17:12|www2|www_access|192.168.1.7 - - [...|  |2018-08-01 17:12|www2|www_access|172.68.47.151 - -...|  |2018-08-01 17:12|www2|www_access|192.168.1.7 - - [...|  |2018-08-01 17:12|www2|www_access|141.101.76.83 - -...|  |2018-08-01 17:14|www2|www_access|172.68.218.41 - -...|  |2018-08-01 17:14|www2|www_access|172.68.218.47 - -...|  |2018-08-01 17:14|www2|www_access|172.69.70.72 - - ...|  |2018-08-01 17:15|www2|www_access|172.68.63.24 - - ...|  |2018-08-01 17:18|www2|www_access|192.168.1.7 - - [...|  |2018-08-01 17:18|www2|www_access|141.101.99.138 - ...|  |2018-08-01 17:19|www2|www_access|192.168.1.7 - - [...|  |2018-08-01 17:19|www2|www_access|162.158.89.74 - -...|  |2018-08-01 17:19|www2|www_access|172.68.54.35 - - ...|  +----------------+----+----------+--------------------+  only showing top 20 rows  我們再次看到DataFrame中有四列與我們的模式匹配,DataFrame此處可以被視為數(shù)據(jù)庫表或Excel電子表格?! ?、Python SciKit-Learn  任何關(guān)于大數(shù)據(jù)的討論都會引發(fā)關(guān)于機器學(xué)習(xí)的討論,幸運的是,Python開發(fā)人員有很多選擇來使用機器學(xué)習(xí)算法。  在沒有詳細介紹機器學(xué)習(xí)的情況下,我們需要獲得一些執(zhí)行機器學(xué)習(xí)的數(shù)據(jù),我在本文中提供的示例數(shù)據(jù)不能正常工作,因為它不是數(shù)字類型的數(shù)據(jù)。我們需要操縱數(shù)據(jù)并將其呈現(xiàn)為數(shù)字格式,這超出了本文的范圍,例如,我們可以按時間映射日志以獲得具有兩列的DataFrame:一分鐘內(nèi)的日志數(shù)和當前時間:  +------------------+---+  | 2018-08-01 17:10 | 4 |  +------------------+---+  | 2018-08-01 17:11 | 1 |  +------------------+---+  通過這種形式的數(shù)據(jù),我們可以執(zhí)行機器學(xué)習(xí)算法來預(yù)測未來可能獲得的訪客數(shù)量,SciKit-Learn附帶了一些樣本數(shù)據(jù)集,我們可以加載一些示例數(shù)據(jù),來看一下具體如何運作。  In [1]: from sklearn import datasets  In [2]: iris = datasets.load_iris()  In [3]: digits = datasets.load_digits()  In [4]: print(digits.data)  [[ 0. 0. 5. ... 0. 0. 0.]  [ 0. 0. 0. ... 10. 0. 0.]  [ 0. 0. 0. ... 16. 9. 0.]  ...  [ 0. 0. 1. ... 6. 0. 0.]  [ 0. 0. 2. ... 12. 0. 0.]  [ 0. 0. 10. ... 12. 1. 0.]]  這將加載兩個用于機器學(xué)習(xí)分類的算法,用于對數(shù)據(jù)進行分類?! 〗Y(jié)論  在大數(shù)據(jù)領(lǐng)域,Python、R以及Scala是主要的參與者,開源社區(qū)中有不少針對這三者的工具,國內(nèi)互聯(lián)網(wǎng)企業(yè)一向很喜歡基于開源工具自研,選擇之前不妨做好功課,抽取使用人數(shù)較多且應(yīng)用場景最接近實際需求的方案。

TOP 3大開源Python數(shù)據(jù)分析工具! 公司視頻課程

img

菜鳥

關(guān)注

[來自IT168]  【IT168 評論】在大數(shù)據(jù)庫領(lǐng)域,Python是最常被使用的編程語言,因此了解與其相關(guān)的數(shù)據(jù)分析工具是很有必要的。如果你正在使用virtualenv、pyenv或其他變體在自己的環(huán)境中運行Python,那么,可以嘗試本文推薦的三大開源工具。  (注:本文示例使用IPython,如果感興趣,請確保已經(jīng)安裝)  $ mkdir python-big-data  $ cd python-big-data  $ virtualenv ../venvs/python-big-data  $ source ../venvs/python-big-data/bin/activate  $ pip install ipython  $ pip install pandas  $ pip install pyspark  $ pip install scikit-learn  $ pip install scipy  本文選取的示例數(shù)據(jù)是最近幾天從某網(wǎng)站獲取的實際生產(chǎn)日志數(shù)據(jù),從技術(shù)層面來看,這些數(shù)據(jù)并不能算作是大數(shù)據(jù),因為它的大小只有大約2Mb,但就演示來說已經(jīng)足夠了。  如果你想獲取這些示例數(shù)據(jù),可以使用git從作者的公共GitHub存儲庫中下載:admintome / access-log-data  $ git clone https://github/admintome/access-log-data.git  數(shù)據(jù)是一個簡單的CSV文件,因此每行代表一個單獨的日志,字段用逗號分隔:  2018-08-01 17:10,'www2','www_access','172.68.133.49 - - [01/Aug/2018:17:10:15 +0000] "GET /wp-content/uploads/2018/07/spark-mesos-job-complete-1024x634.png HTTP/1.0" 200 151587 "https://dzone/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"'  以下是日志行架構(gòu):

由于對數(shù)據(jù)可執(zhí)行的操作的復(fù)雜性不確定,因此本文重點選取加載數(shù)據(jù)和獲取數(shù)據(jù)樣本兩個操作來講解三個工具。  1、Python Pandas  我們討論的第一個工具是Python Pandas。正如它的網(wǎng)站所述,Pandas是一個開源的Python數(shù)據(jù)分析庫。它最初由AQR Capital Management于2008年4月開發(fā),并于2009年底開源,目前由專注于Python數(shù)據(jù)包開發(fā)的PyData開發(fā)團隊繼續(xù)開發(fā)和維護,屬于PyData項目的一部分。Pandas最初被作為金融數(shù)據(jù)分析工具而開發(fā)出來,因此,pandas為時間序列分析提供了很好的支持。  首先,啟動IPython并對示例數(shù)據(jù)進行一些操作。(因為pandas是python的第三方庫所以使用前需要安裝一下,直接使用pip install pandas 就會自動安裝pandas以及相關(guān)組件)

import pandas as pd  headers = ["datetime", "source", "type", "log"]  df = pd.read_csv('access_logs_parsed.csv', quotechar="'", names=headers)  大約一秒后,我們會收到如下回復(fù):  [6844 rows x 4 columns]  In [3]:  如上所見,我們有大約7000行數(shù)據(jù),它從中找到了四個與上述模式匹配的列。  Pandas自動創(chuàng)建了一個表示CSV文件的DataFrame對象,Pandas中的DataFrame數(shù)據(jù)既可以存儲在SQL數(shù)據(jù)庫中,也可以直接存儲在CSV文件中。接下來我們使用head()函數(shù)導(dǎo)入數(shù)據(jù)樣本?! n [11]: df.head()  Out[11]:  datetime source type log  0 2018-08-01 17:10 www2 www_access 172.68.133.49 - - [01/Aug/2018:17:10:15 +0000]...  1 2018-08-01 17:10 www2 www_access 162.158.255.185 - - [01/Aug/2018:17:10:15 +000...  2 2018-08-01 17:10 www2 www_access 108.162.238.234 - - [01/Aug/2018:17:10:22 +000...  3 2018-08-01 17:10 www2 www_access 172.68.47.211 - - [01/Aug/2018:17:10:50 +0000]...  4 2018-08-01 17:11 www2 www_access 141.101.96.28 - - [01/Aug/2018:17:11:11 +0000]...  使用Python Pandas可以做很多事情, 數(shù)據(jù)科學(xué)家通常將Python Pandas與IPython一起使用,以交互方式分析大量數(shù)據(jù)集,并從該數(shù)據(jù)中獲取有意義的商業(yè)智能。  2、PySpark  我們討論的第二個工具是PySpark,該工具來自Apache Spark項目的大數(shù)據(jù)分析庫?! ySpark提供了許多用于在Python中分析大數(shù)據(jù)的功能,它自帶shell,用戶可以從命令行運行。  $ pyspark  這會加載pyspark shell:  (python-big-data)[email protected]:~/Development/access-log-data$ pyspark Python 3.6.5 (default, Apr 1 2018, 05:46:30) [GCC 7.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. 2018-08-03 18:13:38 WARN Utils:66 - Your hostname, admintome resolves to a loopback address: 127.0.1.1; using 192.168.1.153 instead (on interface enp0s3) 2018-08-03 18:13:38 WARN Utils:66 - Set SPARK_LOCAL_IP if you need to bind to another address 2018-08-03 18:13:39 WARN NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /__ / .__/\_,_/_/ /_/\_\ version 2.3.1 /_/ Using Python version 3.6.5 (default, Apr 1 2018 05:46:30) SparkSession available as 'spark'. >>>  當你啟動shell時,你會得到一個Web GUI查看你的工作狀態(tài),只需瀏覽到http:// localhost:4040即可獲得PySpark Web GUI。

讓我們使用PySpark Shell加載示例數(shù)據(jù):  dataframe = spark.read.format("csv").option("header","false").option("mode","DROPMALFORMED").option("quote","'").load("access_logs.csv")  dataframe.show()  PySpark提供了已創(chuàng)建的DataFrame示例:  >>> dataframe2.show()  +----------------+----+----------+--------------------+  | _c0| _c1| _c2| _c3|  +----------------+----+----------+--------------------+  |2018-08-01 17:10|www2|www_access|172.68.133.49 - -...|  |2018-08-01 17:10|www2|www_access|162.158.255.185 -...|  |2018-08-01 17:10|www2|www_access|108.162.238.234 -...|  |2018-08-01 17:10|www2|www_access|172.68.47.211 - -...|  |2018-08-01 17:11|www2|www_access|141.101.96.28 - -...|  |2018-08-01 17:11|www2|www_access|141.101.96.28 - -...|  |2018-08-01 17:11|www2|www_access|162.158.50.89 - -...|  |2018-08-01 17:12|www2|www_access|192.168.1.7 - - [...|  |2018-08-01 17:12|www2|www_access|172.68.47.151 - -...|  |2018-08-01 17:12|www2|www_access|192.168.1.7 - - [...|  |2018-08-01 17:12|www2|www_access|141.101.76.83 - -...|  |2018-08-01 17:14|www2|www_access|172.68.218.41 - -...|  |2018-08-01 17:14|www2|www_access|172.68.218.47 - -...|  |2018-08-01 17:14|www2|www_access|172.69.70.72 - - ...|  |2018-08-01 17:15|www2|www_access|172.68.63.24 - - ...|  |2018-08-01 17:18|www2|www_access|192.168.1.7 - - [...|  |2018-08-01 17:18|www2|www_access|141.101.99.138 - ...|  |2018-08-01 17:19|www2|www_access|192.168.1.7 - - [...|  |2018-08-01 17:19|www2|www_access|162.158.89.74 - -...|  |2018-08-01 17:19|www2|www_access|172.68.54.35 - - ...|  +----------------+----+----------+--------------------+  only showing top 20 rows  我們再次看到DataFrame中有四列與我們的模式匹配,DataFrame此處可以被視為數(shù)據(jù)庫表或Excel電子表格?! ?、Python SciKit-Learn  任何關(guān)于大數(shù)據(jù)的討論都會引發(fā)關(guān)于機器學(xué)習(xí)的討論,幸運的是,Python開發(fā)人員有很多選擇來使用機器學(xué)習(xí)算法。  在沒有詳細介紹機器學(xué)習(xí)的情況下,我們需要獲得一些執(zhí)行機器學(xué)習(xí)的數(shù)據(jù),我在本文中提供的示例數(shù)據(jù)不能正常工作,因為它不是數(shù)字類型的數(shù)據(jù)。我們需要操縱數(shù)據(jù)并將其呈現(xiàn)為數(shù)字格式,這超出了本文的范圍,例如,我們可以按時間映射日志以獲得具有兩列的DataFrame:一分鐘內(nèi)的日志數(shù)和當前時間:  +------------------+---+  | 2018-08-01 17:10 | 4 |  +------------------+---+  | 2018-08-01 17:11 | 1 |  +------------------+---+  通過這種形式的數(shù)據(jù),我們可以執(zhí)行機器學(xué)習(xí)算法來預(yù)測未來可能獲得的訪客數(shù)量,SciKit-Learn附帶了一些樣本數(shù)據(jù)集,我們可以加載一些示例數(shù)據(jù),來看一下具體如何運作?! n [1]: from sklearn import datasets  In [2]: iris = datasets.load_iris()  In [3]: digits = datasets.load_digits()  In [4]: print(digits.data)  [[ 0. 0. 5. ... 0. 0. 0.]  [ 0. 0. 0. ... 10. 0. 0.]  [ 0. 0. 0. ... 16. 9. 0.]  ...  [ 0. 0. 1. ... 6. 0. 0.]  [ 0. 0. 2. ... 12. 0. 0.]  [ 0. 0. 10. ... 12. 1. 0.]]  這將加載兩個用于機器學(xué)習(xí)分類的算法,用于對數(shù)據(jù)進行分類。  結(jié)論  在大數(shù)據(jù)領(lǐng)域,Python、R以及Scala是主要的參與者,開源社區(qū)中有不少針對這三者的工具,國內(nèi)互聯(lián)網(wǎng)企業(yè)一向很喜歡基于開源工具自研,選擇之前不妨做好功課,抽取使用人數(shù)較多且應(yīng)用場景最接近實際需求的方案。

img

在線咨詢

建站在線咨詢

img

微信咨詢

掃一掃添加
動力姐姐微信

img
img

TOP