乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      數(shù)據(jù)科學(xué)家必備!12個(gè)基本命令行工具幫你擺脫鼠標(biāo)

       漢無(wú)為 2018-04-23


      大數(shù)據(jù)文摘作品

      編譯:汪小七、Katrine Ren、夏雅薇


      本篇文章作者是Matthew Mayo,選自KDnuggets(一個(gè)著名的數(shù)據(jù)挖掘網(wǎng)站)。簡(jiǎn)要介紹了12種類(lèi)Unix操作系統(tǒng)命令行工具,以及這些命令行工具對(duì)數(shù)據(jù)科學(xué)研究和數(shù)據(jù)科學(xué)家的價(jià)值。


      這篇文章概述了十二個(gè)可以用于數(shù)據(jù)科學(xué)項(xiàng)目的類(lèi)Unix操作系統(tǒng)命令行工具。


      這一系列工具不包括任何基本的文件管理命令(pwd、ls、mkdir、rm……)和遠(yuǎn)程桌面管理工具(rsh、ssh……),但是從數(shù)據(jù)科學(xué)角度來(lái)看,這些命令行工具都是比較實(shí)用的,通常用來(lái)進(jìn)行不同程度的數(shù)據(jù)檢驗(yàn)和數(shù)據(jù)處理。


      這一系列命令行工具都包含在一種特殊的類(lèi)Unix操作系統(tǒng)中。


      這些固然都是最基礎(chǔ)的操作命令,但我還是鼓勵(lì)你針對(duì)某些命令行自行查找更多的應(yīng)用實(shí)例。


      在本文中,工具名都可以直接鏈接到維基百科詞條,而不是Linux的使用手冊(cè)頁(yè)面,我覺(jué)得前者對(duì)于新手來(lái)說(shuō)更友好一點(diǎn)。


      Linux的使用手冊(cè)頁(yè)面:

      https://linux./man/


      wget


      wget是一個(gè)文件檢索工具,用于從遠(yuǎn)程位置下載文件,其下載遠(yuǎn)程文件的基本用法如下:


      wget:

      https://en./wiki/wget


      ~$ wget https://raw.githubusercontent.com/uiuc-cse/data-fa14/gh-pages/data/iris.csv
      --2018-03-20 18:27:21--  https://raw.githubusercontent.com/uiuc-cse/data-fa14/gh-pages/data/iris.csv
      Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.20.133
      Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.20.133|:443... connected.
      HTTP request sent, awaiting response... 200 OK
      Length: 3716 (3.6K) [text/plain]
      Saving to: ‘iris.csv’
      iris.csv
      100 [=======================================================================================================>]   3.63K  --.-KB/s    in 0s    
      2018-03-20 18:27:21 (19.9 MB/s) - ‘iris.csv’ saved [3716/3716]


      cat


      cat是將文件內(nèi)容標(biāo)準(zhǔn)輸出的工具,此名稱(chēng)來(lái)自連接(concatenate)這個(gè)詞。它可以用于實(shí)現(xiàn)一些較復(fù)雜的文件處理,包括將文件合并在一起(也就是真正的文件連接)、將文件追加到另一個(gè)文件中、以及給文件行編號(hào)等功能。


      cat:

      https://en./wiki/Cat_(Unix)


      ~$ cat iris.csv
      sepal_length,sepal_width,petal_length,petal_width,species
      5.1,3.5,1.4,0.2,setosa
      4.9,3,1.4,0.2,setosa
      4.7,3.2,1.3,0.2,setosa
      4.6,3.1,1.5,0.2,setosa
      5,3.6,1.4,0.2,setosa
      ...
      6.7,3,5.2,2.3,virginica
      6.3,2.5,5,1.9,virginica
      6.5,3,5.2,2,virginica
      6.2,3.4,5.4,2.3,virginica
      5.9,3,5.1,1.8,virginica


      wc


      wc命令用于生成字?jǐn)?shù)統(tǒng)計(jì)、行計(jì)數(shù)、字節(jié)計(jì)數(shù)以及與文本文件相關(guān)的內(nèi)容。在沒(méi)有設(shè)置其他選項(xiàng)的情況下,wc的默認(rèn)輸出是一行,由左到右依次是行數(shù)、字?jǐn)?shù)統(tǒng)計(jì)(注意:每一行上沒(méi)有空格中斷的單個(gè)字符串被算作一個(gè)單詞)、字符計(jì)數(shù)和文件名。


      wc:

      https://en./wiki/Wc_(Unix)


      ~$ wc iris.cs
      151  151 3716 iris.csv


      head


      head命令是標(biāo)準(zhǔn)地輸出文件的前n行(默認(rèn)為10行),顯示行數(shù)可以用-n項(xiàng)設(shè)置,如下。


      Head:

      https://en./wiki/Head_(Unix)


      ~$ head -n 5 iris.csv
      sepal_length,sepal_width,petal_length,petal_width,species
      5.1,3.5,1.4,0.2,setosa
      4.9,3,1.4,0.2,setosa
      4.7,3.2,1.3,0.2,setosa
      4.6,3.1,1.5,0.2,setosa


      tail


      接下來(lái)猜猜看tail是用來(lái)實(shí)現(xiàn)什么功能的?


      tail:

      https://en./wiki/Tail_(Unix)


      ~$ tail -n 5 iris.csv
      6.7,3,5.2,2.3,virginica
      6.3,2.5,5,1.9,virginica
      6.5,3,5.2,2,virginica
      6.2,3.4,5.4,2.3,virginica
      5.9,3,5.1,1.8,virginica


      運(yùn)行命令行魔法


      find


      find是用于搜索特定文件的文件系統(tǒng)工具。以下命令就是在樹(shù)結(jié)構(gòu)中搜索特殊文件的例子,即從當(dāng)前目錄(“.”)開(kāi)始,搜索以“iris”開(kāi)頭,并以任意字符結(jié)尾,類(lèi)型為普通文件類(lèi)型(“-type f”)的文件:


      find:

      https://en./wiki/Find_(Unix)


      ~$ find . -name 'iris*' -type f
      ./iris.csv
      ./notebooks/kmeans-sharding-init/sharding/tests/results/iris_time_results.csv
      ./notebooks/ml-workflows-python-scratch/iris_raw.csv
      ./notebooks/ml-workflows-python-scratch/iris_clean.csv
      ...


      cut


      cut命令用于文本分割,雖然cut用于分割文本可以在各種標(biāo)準(zhǔn)下進(jìn)行,但是它對(duì)于CSV文件中列數(shù)據(jù)的提取尤其有用。以下命令即為輸出使用逗號(hào)分隔符('-d ','')的iris.csv文件的第五列(“- f 5”):


      cut:

      https://en./wiki/Cut_(Unix)


      ~$ cut -d ',' -f 5 iris.csv
      species
      setosa
      setosa
      setosa
      ...


      uniq


      uniq是通過(guò)將文本中的重復(fù)行進(jìn)行去重,從而將文本輸出標(biāo)準(zhǔn)化的工具。就其本身而言,這似乎并沒(méi)多大用處,但是當(dāng)其用于構(gòu)建pipelines時(shí)(將一個(gè)命令的輸出連接到另一個(gè)命令的輸入等等)將變得非常有用。


      uniq:

      https://en./wiki/Uniq


      以下命令結(jié)果是iris數(shù)據(jù)集的第五列中包含的不同類(lèi)別及其計(jì)數(shù):


      ~$ tail -n 150 iris.csv | cut -d ',' -f 5 | uniq -c
      50 setosa
      50 versicolor
      50 virginica


      奶牛說(shuō)了什么


      awk


      awk實(shí)際上不是一個(gè)'命令',而是一套完整的編程語(yǔ)言。它用于處理和提取文本, 且可以從命令行中以單行命令的形式調(diào)用。


      awk:

      https://en./wiki/AWK


      完全掌握awk是需要一些時(shí)間的,但在此之前,這里有一個(gè)可以練習(xí)的例子。考慮到樣本文件iris.csv相當(dāng)有限的文本多樣性,以下這行命令就可以調(diào)用awk,在給定的文件(“iris.csv”)中搜索字符串“setosa”,并將所有項(xiàng)(在$0變量中保存的)一個(gè)一個(gè)地標(biāo)準(zhǔn)輸出如下:


      ~$ awk '/setosa/ { print $0 }' iris.csv
      5.1,3.5,1.4,0.2,setosa
      4.9,3,1.4,0.2,setosa
      4.7,3.2,1.3,0.2,setosa
      4.6,3.1,1.5,0.2,setosa
      5,3.6,1.4,0.2,setosa


      grep


      grep是另一種文本處理工具,用來(lái)查找匹配字符串和正則表達(dá)式。


      grep:

      https://en./wiki/Grep


      ~$ grep -i 'vir' iris.csv
      6.3,3.3,6,2.5,virginica
      5.8,2.7,5.1,1.9,virginica
      7.1,3,5.9,2.1,virginica
      ...


      當(dāng)你需要花大量的時(shí)間進(jìn)行文本處理時(shí),grep無(wú)疑是你需要掌握的一個(gè)好工具,更多有用的信息請(qǐng)參考網(wǎng)站:


      https://www./2009/03/15-practical-unix-grep-command-examples。


      sed


      sed是一個(gè)流編輯器,也是一個(gè)文本處理和轉(zhuǎn)換工具,類(lèi)似于awk。下面我們將用此命令把iris.csv文件中的“setosa”改為“irissetosa”:


      sed:

      https://en./wiki/Sed


      ~$ sed 's/setosa/iris-setosa/g' iris.csv > output.csv
      ~$ head output.csv
      sepal_length,sepal_width,petal_length,petal_width,species
      5.1,3.5,1.4,0.2,iris-setosa
      4.9,3,1.4,0.2,iris-setosa
      4.7,3.2,1.3,0.2,iris-setosa
      ...


      history


      history非常簡(jiǎn)單,但也非常有用,特別是當(dāng)你需要用命令語(yǔ)句來(lái)完成一些重復(fù)性的數(shù)據(jù)準(zhǔn)備工作時(shí)。


      History:

      https://en./wiki/History_(Unix)


      ~$ history547  tail iris.csv
      548  tail -n 150 iris.csv
      549  tail -n 150 iris.csv | cut -d ',' -f 5 | uniq -c
      550  clear
      551  history


      至此,這篇文章已經(jīng)對(duì)這12個(gè)方便的命令行工具都進(jìn)行了簡(jiǎn)單的介紹,這只是對(duì)數(shù)據(jù)科學(xué)(或其他任何目標(biāo))可能用到的命令行工具的一種粗淺的體驗(yàn)。現(xiàn)在,是時(shí)候讓它們把你的生產(chǎn)力從鼠標(biāo)中解放出來(lái)了。


      原文鏈接:

      https://www./2018/03/top-12-essential-command-line-tools-data-scientists.html


      【今日機(jī)器學(xué)習(xí)概念】

      Have a Great Definition

      志愿者介紹

      回復(fù)志愿者”加入我們

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多