加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

数据科学家的呼吁行能力

发布时间:2018-08-16 12:08:13 所属栏目:教程 来源:Tocy, kevinlinkai, 边城, 琪花亿草, 雪
导读:技能沙龙 | 邀您于8月25日与国美/AWS/转转三位专家配合切磋小措施电商拭魅战 对付许大都据科学家来说,数据操纵起始于Pandas或Tidyverse。从理论上看,这个观念没有错。事实,这是为什么这些器材起首存在的缘故起因。然而,对付脱离符转换等简朴使命来说,这些选
副问题[/!--empirenews.page--] 技能沙龙 | 邀您于8月25日与国美/AWS/转转三位专家配合切磋小措施电商拭魅战

数据科学家的呼吁行能力

对付许大都据科学家来说,数据操纵起始于Pandas或Tidyverse。从理论上看,这个观念没有错。事实,这是为什么这些器材起首存在的缘故起因。然而,对付脱离符转换等简朴使命来说,这些选项凡是也许是过于重量级了。

故意把握呼吁行应该在每个开拓职员的手艺链上,出格是数据科学家。进修shell中的前因后果无能否定地会让你更高效。除此之外,呼吁行还在计较方面有一次巨大的汗青记录。譬喻,awk - 一种数据驱动的剧本说话。Awk初次呈现于1977年,它是在传奇的K&R一书中的K,Brian Kernighan的辅佐下呈现的。在本日,约莫50年之后,awk如故与每年呈现的新书保持相干联! 因此,可以必定的是,对呼吁行技能的投入不会很快贬值的。

我们交涉及的内容

  • ICONV
  • HEAD
  • TR
  • WC
  • SPLIT
  • SORT & UNIQ
  • CUT
  • PASTE
  • JOIN
  • GREP
  • SED
  • AWK
  • ICONV

文件编码老是棘手的题目。今朝大部门文件都是回收的 UTF-8 编码。要想相识 UTF-8 的魔力,可以看看这个优越的视频。尽量云云,偶然辰我们照旧会收到非 UTF-8 编码的文件。这种环境下就必要实行转码。iconv 就是这种状况下的救世主。iconv 是一个简朴的措施,可以输入某种编码的文本,然后以另一种编码输出。

  1. # Converting -f (from) latin1 (ISO-8859-1) 
  2. # -t (to) standard UTF_8 
  3.  
  4. iconv -f ISO-8859-1 -t UTF-8 < input.txt > output.txt 

常用选项:

  • iconv -l 列出全部支持的编码
  • iconv -c 不作提醒就扬弃无法转换的字符

HEAD

假如你是重度Pandas的用户,那么你会对head很认识。凡是在处理赏罚新数据时,我们想要做的第一件事就是相识毕竟存在那些对象。这会引起Panda启动,读取数据,然后挪用df.head() - 很费劲,至少可以说。head,不必要任何符号,将输出文件的前10行。head真正的手段在于彻查破除操纵。 譬喻,假如我们想将文件的脱离符从逗号改变为pipe通配符。一个快速测试将是:head mydata.csv | sed 's/,/|/g'

  1. # Prints out first 10 lines  
  2. head filename.csv  
  3. # Print first 3 lines  
  4. head -n 3 filename.csv 

有效的选项:

  • head -n 输出指定行
  • head -c 输出指定的字节

TR呼吁

Tr相同于翻译,它是基于文件整理的一个强盛行使的器材。一个抱负的用法是替代文件中的脱离符。

  1. #将文件中的制表符支解转换成逗号 
  2. cat tab_delimited.txt | tr "t" "," comma_delimited.csv 

Tr的另一个特征是在你的处理赏罚中配置上全部的[:class:]变量。包罗:

  1. [:alnum:] 全部字母和数字 
  2. [:alpha:] 全部字母 
  3. [:blank:] 全部程度空缺 
  4. [:cntrl:] 全部节制字符 
  5. [:digit:] 全部数字 
  6. [:graph:] 全部可打印的字符,不包罗空格 
  7. [:lower:] 所有小写字母 
  8. [:print:] 全部可打印的字符,包罗空格 
  9. [:punct:] 全部标点标记 
  10. [:space:] 全部的程度或垂直空格 
  11. [:upper:] 所有大写字母 
  12. [:xdigit:] 全部十六进制数字 

可以将这些多样化的变量链接在一路,构成一个强盛的措施。下面是一个基于字数统计的措施,用来搜查你的README文件是否行使太过。

  1. cat README.md | tr "[:punct:][:space:]" "n" | tr "[:upper:]" "[:lower:]" | grep . | sort | uniq -c | sort -nr 

其它一个例子用于正则表达式

  1. # 将全部的大写字母转换成小写 
  2. cat filename.csv | tr '[A-Z]' '[a-z]' 

有效的选项:

  • tr -d删除字符
  • tr -s压缩字符
  • b退格
  • f换页
  • v垂直选项卡
  • NNN八进制值为NNN的字符

WC

字数统计。它的代价首要表此刻行使 -l 参数可以举办行数统计。

  1. # Will return number of lines in CSV  
  2. wc -l gigantic_comma.csv 

个用这个器材来验证各个呼吁的输出其实利便。因此,假如我们要在文件中转换脱离符,然后运行 wc -l,验证总行数是沟通的。假如差异,我们就知道必然是那边堕落了。

常用选项:

  • wc -c 打印字节数
  • wc -m 打印字符数
  • wc -L 打印最长一行的长度
  • wc -w 打印字数

SPLIT呼吁

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读