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

数据科学家的命令行技巧

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

文件大小可以有显著变化。根据工作的不同,拆分文件是有益的,就像split。基本用法如下:

  1. #我们拆分这个CSV文件,每500行分割为一个新的文件new_filename 
  2.  
  3. split -l 500 filename.csv new_filename_ 
  4.  
  5. # filename.csv 
  6. # ls output 
  7. # new_filename_aaa 
  8. # new_filename_aab 
  9. # new_filename_aac 

两个地方很奇怪:一个是命名方式,一个是缺少扩展名。后缀约定可以通过-d标识来数字化。添加文件扩展名,你需要执行下面这个find命令。他会给当前文件夹下的所有文件追加.csv后缀,所以需要小心使用。

  1. find . -type f -exec mv '{}' '{}'.csv ; 
  2.  
  3. # ls output 
  4. # filename.csv.csv 
  5. # new_filename_aaa.csv 
  6. # new_filename_aab.csv 
  7. # new_filename_aac.csv 

有效的选项:

  • split -b按特定字节大小拆分
  • split -a生成长度为N的后缀
  • split -x使用十六进制后缀分割

SORT & UNIQ

前面的命令是显而易见的:他们按照自己说的做。这两者提供了最重要的一击(即去重单词计数)。这是由于有uniq,它只处理重复的相邻行。因此在管道输出之前进行排序。一个有趣的事情是,sort -u将获得与sort file.txt | uniq相同的结果。

Sort确实对数据科学家来说是一种很有用的小技巧:能够根据特定的列对整个CSV进行排序。

  1. # Sorting a CSV file by the second column alphabetically  
  2. sort -t"," -k2,2 filename.csv  
  3. # Numerically  
  4. sort -t"," -k2n,2 filename.csv  
  5. # Reverse order  
  6. sort -t"," -k2nr,2 filename.csv 

这里的-t选项是指定逗号作为分隔符。通常假设是空格或制表符。此外,-k标志是用来指定我们的键的。它的语法是-km,n,m是起始字段,n是最后一个字段。

有用的选项:

  • sort -f 忽略大小写
  • sort -r 逆序
  • sort -R 乱序
  • uniq -c 计算出现次数
  • uniq -d 只打印重复行

CUT命令

cut用于删除列。举个栗子,如果我们只想要第一列和第三列。

  1. cut -d, -f 1,3 filename.csv 

选择除了第一列以外的所有列

  1. cut -d, -f 2- filename.csv 

与其他的命令组合使用,cut命令作为过滤器

  1. #打印存在“some_string_value”的第1列和第3列的前10行 
  2. head filename.csv | grep "some_string_value" | cut -d, -f 1,3 

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

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