成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

系統(tǒng) 其他OS
本篇文章簡要介紹了12種類Unix操作系統(tǒng)命令行工具,以及這些命令行工具對數(shù)據(jù)科學(xué)研究和數(shù)據(jù)科學(xué)家的價(jià)值。

 

 

命令行工具

 

 

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

 

 

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

 

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

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

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

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

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

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

Linux的使用手冊頁面:https://linux.die.net/man/

1. wget

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

wget:https://en.wikipedia.org/wiki/wget

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

2. cat

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

cat:https://en.wikipedia.org/wiki/Cat_(Unix)

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

3. wc

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

wc:https://en.wikipedia.org/wiki/Wc_(Unix)

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

4. head

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

Head:https://en.wikipedia.org/wiki/Head_(Unix)

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

5. tail

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

tail:https://en.wikipedia.org/wiki/Tail_(Unix)

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

6. find

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

find:https://en.wikipedia.org/wiki/Find_(Unix)

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

7. cut

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

cut:https://en.wikipedia.org/wiki/Cut_(Unix)

  1. ~$ cut -d ',' -f 5 iris.csv 
  2. species 
  3. setosa 
  4. setosa 
  5. setosa 
  6. ... 

8. uniq

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

uniq:https://en.wikipedia.org/wiki/Uniq

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

  1. ~$ tail -n 150 iris.csv | cut -d "," -f 5 | uniq -c 
  2. 50 setosa 
  3. 50 versicolor 
  4. 50 virginica 

奶牛說了什么

9. awk

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

awk:https://en.wikipedia.org/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)輸出如下:

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

10. grep

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

grep:https://en.wikipedia.org/wiki/Grep

  1. ~$ grep -i "vir" iris.csv 
  2. 6.3,3.3,6,2.5,virginica 
  3. 5.8,2.7,5.1,1.9,virginica 
  4. 7.1,3,5.9,2.1,virginica 
  5. ... 

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

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

11. sed

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

sed:https://en.wikipedia.org/wiki/Sed

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

12. history

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

History:https://en.wikipedia.org/wiki/History_(Unix)

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

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

原文鏈接:

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

【本文是51CTO專欄機(jī)構(gòu)大數(shù)據(jù)文摘的原創(chuàng)譯文,微信公眾號“大數(shù)據(jù)文摘( id: BigDataDigest)”】

     大數(shù)據(jù)文摘二維碼

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2016-08-02 17:00:12

Hadoop大數(shù)據(jù)系統(tǒng)

2017-08-04 15:53:10

大數(shù)據(jù)真?zhèn)螖?shù)據(jù)科學(xué)家

2019-11-29 18:03:27

數(shù)學(xué)R語言算法

2020-04-08 17:38:24

Python數(shù)據(jù)音樂

2019-07-05 10:29:17

大數(shù)據(jù)數(shù)據(jù)科學(xué)家

2019-09-11 14:34:13

排序算法數(shù)據(jù)科學(xué)

2017-11-21 14:42:30

數(shù)據(jù)科學(xué)統(tǒng)計(jì)學(xué)習(xí)機(jī)器學(xué)習(xí)

2012-12-06 15:36:55

CIO

2012-12-26 10:51:20

數(shù)據(jù)科學(xué)家

2018-12-24 08:37:44

數(shù)據(jù)科學(xué)家數(shù)據(jù)模型

2018-03-27 11:02:55

2019-03-25 21:18:41

數(shù)據(jù)科學(xué)家大數(shù)據(jù)技能

2016-03-10 13:56:42

數(shù)據(jù)科學(xué)數(shù)據(jù)科學(xué)家數(shù)據(jù)分析

2018-05-03 09:11:51

數(shù)據(jù)科學(xué)家職業(yè)數(shù)據(jù)科學(xué)

2018-02-28 15:03:03

數(shù)據(jù)科學(xué)家數(shù)據(jù)分析職業(yè)

2010-09-02 13:25:41

Linux命令行

2018-10-16 14:37:34

數(shù)據(jù)科學(xué)家數(shù)據(jù)分析數(shù)據(jù)科學(xué)

2012-06-12 09:33:59

2018-10-31 11:00:06

數(shù)據(jù)科學(xué)統(tǒng)計(jì)貝葉斯

2020-08-28 13:49:13

數(shù)據(jù)統(tǒng)計(jì)學(xué)面試
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产高清一区二区三区 | 91视频18| 国产成人精品一区二区在线 | 日韩精品视频一区二区三区 | 亚洲欧美日本国产 | 亚洲一区二区免费 | 亚州精品天堂中文字幕 | 祝你幸福电影在线观看 | 亚洲人在线播放 | 亚洲欧美久久 | 亚洲第一网站 | 91一区二区三区 | 综合网在线 | 欧美激情精品久久久久久 | 国产一区二区三区四区在线观看 | 一本一道久久a久久精品综合蜜臀 | 国产成人99久久亚洲综合精品 | 久久综合影院 | 欧美一区二区三区久久精品 | 91最新入口 | 日本成人在线免费视频 | 红色av社区 | 免费黄色av | 成人精品一区二区三区中文字幕 | 精品99久久久久久 | 国产精品成人品 | 最新日韩在线视频 | 国产精品免费一区二区三区四区 | 久久国产精品99久久久久久丝袜 | 午夜影院在线观看视频 | 国产一区二区三区四区三区四 | 中文字幕精品一区二区三区精品 | 福利久久 | 另类视频在线 | 日韩视频一区在线观看 | 亚洲 自拍 另类 欧美 丝袜 | 欧美日韩成人在线观看 | 久久综合久色欧美综合狠狠 | 亚洲高清在线播放 | 亚洲一区二区三区免费视频 | 一区二区三区四区在线视频 |