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

数据科学家的命令行技巧

发布时间:2018-08-15 21:20:40 所属栏目:教程 来源:Tocy, kevinlinkai, 边城, 琪花亿草, 雪
导读:副标题#e# 技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战 对于许多数据科学家来说,数据操作起始于Pandas或Tidyverse。从理论上看,这个概念没有错。毕竟,这是为什么这些工具首先存在的原因。然而,对于分隔符转换等简单任务来

找出第二列中唯一值的数量。

  1. cat filename.csv | cut -d, -f 2 | sort | uniq | wc -l  
  2. # 计算唯一值出现的次数,限制输出前10个结果  
  3. cat filename.csv | cut -d, -f 2 | sort | uniq -c | head 

PASTE

paste 是个有趣的小命令。如果你想合并两个文件,而这两个文件的内容又正好是有序的,那 paste 就可以这样做。

  1. # names.txt 
  2. adam 
  3. john 
  4. zach 
  5.  
  6. # jobs.txt 
  7. lawyer 
  8. youtuber 
  9. developer 
  10.  
  11. # Join the two into a CSV 
  12.  
  13. paste -d ',' names.txt jobs.txt > person_data.txt 
  14.  
  15. # Output 
  16. adam,lawyer 
  17. john,youtuber 
  18. zach,developer 

关于更多 SQL_-esque 变体,请看下面。

JOIN

Join是一种简单的、准切向的SQL。最大的区别在于Join将返回所有列,匹配可能只发生在一个字段上。默认情况下,join将尝试使用第一列作为匹配键。对于不同的结果,需要以下语法:

  1. # Join the first file (-1) by the second column 
  2. # and the second file (-2) by the first 
  3.  
  4. join -t"," -1 2 -2 1 first_file.txt second_file.txt 

标准连接是一个内部连接。然而,外部连接也可以通过-af滞后来实现。另一个值得注意的是-e标志,如果发现有字段丢失,它可以用来替换成其他值。

  1. # Outer join, replace blanks with NULL in columns 1 and 2 
  2. # -o which fields to substitute - 0 is key, 1.1 is first column, etc... 
  3.  
  4. join -t"," -1 2 -a 1 -a2 -e ' NULL' -o '0,1.1,2.2' first_file.txt second_file.txt 

虽然它不是最容易使用的命令,但是在绝望的时刻,它就是唯一可用的措施。

常用的选项:

  • join -a 打印未成对的行
  • join -e 替换缺失字段
  • join -j 等同于 -1 FIELD -2 FIELD

GREP

(编辑:网站开发网_安阳站长网)

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