生信(五)awk求取某一列的平均值
關鍵詞:awk
awk是生信人必須要掌握的命令列工具。為啥?因為它太強大了。我們舉一個例子來說明。
假設我們有一個1000萬行的檔案,大概長這樣:
怎麼求第四列的平均數呢?
Python版本 我們可以用幾行Python程式碼解決,比如這樣:
其耗時:
R版本 用R來做計算也是很適合的,比如像這樣:
其耗時:
awk版本 awk用一行程式碼就可以解決問題,像這樣(注意耗時):
至此,我們可以看出,awk程式碼簡單,但是效能卻不差!在同樣的機器上處理同樣的檔案,awk的執行時間是Python的一半左右,是R的大概十分之一。可以說,awk已經非常快了!
C版本 都說C快,讓我們看看到底有多快。程式碼如下:
其耗時:
可以看出,C的版本也僅比awk的稍快一點點。但是,C的程式碼複雜多了!由此,我們可以粗略比較出awk是一個非常完美的文字處理工具!
如果有任何問題,歡迎交流!
(公眾號:生信了)
相關推薦
生信(五)awk求取某一列的平均值
關鍵詞:awk awk是生信人必須要掌握的命令列工具。為啥?因為它太強大了。我們舉一個例子來說明。 假設我們有一個1000萬行的檔案,大概長這樣: 怎麼求第四列的平均數呢? Python版本 我們可以用幾行Python程式碼解決,比如這樣: 其耗時: R版
談談gnuplot(五):座標取值範圍及刻度
http://qbk378.lofter.com/post/b28f6_14f062 我們從上一講結束時的影象開始: gnuplot> set samples 500 gnuplot> set xlabel "X" gnuplot> set ylabel "Y" gnupl
生信(二)反向互補序列
關鍵詞:reverse; complement; sequence; **如何得到一段基因序列的反向互補序列?**這是基因測序領域經常遇到的問題。其實答案很簡單,許多現成的軟體都有這個功能。但是作為一個生信人,當然可以自己實現一個了。 首先想到的也是最基礎的方法
生信(七)生信中常用命令
今天將生信工作中的一些常用命令記錄(分享)如下: (以後會不定期更新) 轉換dos/windows格式的bed檔案為unix格式 (說明:我們拿到的bed檔案時常是客戶在Windows系統下編輯好的,其行尾是\r\n,在進行NGS分析前最好將其轉換為Unix風格
python網路爬蟲(五):併發抓取
在進行單個爬蟲抓取的時候,我們不可能按照一次抓取一個url的方式進行網頁抓取,這樣效率低,也浪費了cpu的資源。目前python上面進行併發抓取的實現方式主要有以下幾種:程序,執行緒,協程。程序不在的討論範圍之內,一般來說,程序是用來開啟多個spider,比如我
java基礎(五):for迴圈和一維陣列
import java.util.Random; import java.util.Scanner; class DouDiZhu {public static void main(String[] args) {//1. 生成54張牌 -- 不需要引數,返回值String[]String[] pic =
求excel某一列對應的字母表示
其實就是把一個十進位制數轉換成26進位制,但是這個26進位制數沒有0,只有1-26: 兩種處理方法: #include <assert.h> #include <algorithm> #include <vector> using nam
pandas按某一層索引分組取某一列的最大值,groupby(),idxmax()
本文是根據stackoverflow上一個問題進行的覆盤,若涉及任何侵權,請聯絡我修改或刪除。 stackoverflow原文連結 --> https://stackoverflow.com/questions/32459325/python-pandas-data
VBA取某一列所使用的單元格數
Debug.Print Worksheets(1).[A65536].End(xlUp).Row 完整介紹Excel End(xlUp).Row 一、End(xlUp).Row介紹 功能是返回一個 Range 物件,該物件代表包含源區域的區域尾端的單元格。等同於
微信小程序,前端大夢想(五)
deb value image 宋體 夢想 top 1-1 獲得 star 微信小程序之綜合應用-訪問網絡加載數據 移動端訪問網絡加載數據時必不可少的功能,本章將接入豆瓣電影API,以列表的形式展現數據,支持下拉刷新及點擊查看詳情。重點包括: l 訪問網絡 l 跳轉畫面
Spring(五):Spring&Struts2&Hibernate整合後,實現查詢Employee信息
view event last .html ssh tla url 配置文件 hid 背景: 基於之前兩篇文章《Spring(三):Spring整合Hibernate》、《Spring(四):Spring整合Hibernate,之後整合Struts2》,了解了
OGG運維優化腳本(五)-信息修改類--批量註釋
ogg oracle goldengate 腳本 數據同步 shell 文件名:comment.sh路徑:$HOME/ggscript/ggcomment功能:該腳本基於CBS用戶每月大批量註釋源端表進行數據清理的需求而設計通過edit腳本選擇並調用日誌路徑:$HOME/gglog/g
微信公眾平臺開發教程(五)自定義菜單
打開鏈接 delete toolbar 推送 優化 pcl reader 接口查詢 robot 應大家強烈要求,將自定義菜單功能課程提前。 一、概述: 如果只有輸入框,可能太簡單,感覺像命令行。自定義菜單,給我們提供了很大的靈活性,更符合用戶的操作習慣。在一個小小的微信對話
使用Chrome快速實現數據的抓取(五)—— puppeteer
ref google rem 官方 簡單的 code web 驅動 ace 如果要以自動化的方式驅動Chrome進行數據抓取,必須實現Chrome Dev Protocol協議的客戶端。這個協議本身並不復雜,我在之前的文章中也簡單的介紹過一下。 Google本身有一個No
Zookeeper詳解(五):通過JMX查看Zookeeper信息
JMXJMX是對運行中的JAVA系統進行管控。目前ZK使用標準的JMX接口。修改ZK的啟動腳本zkServer.sh這個啟動腳本進行修改,第一句不是必須的,但是第二句是必須的在conf目錄下新建java.env文件重新啟動為什麽要在conf裏面建立一個java.env呢?其實你都寫在zkServer.sh中也
新形勢下國家醫療保障局信息化建設註意點(五)強化監管信息化
基金 監控 pan 知識庫 互聯 保險 體系 知識 提升 國家醫療保障局具有“監督管理相關醫療保障基金、制定藥品和醫用耗材的招標采購政策並監督實施、監督管理納入醫保支出範圍內的醫療服務行為和醫療費用”的監管職責。從未來發展看,國家醫療保障局的工作職責
部落格搬家系列(五)-爬取開源中國部落格
部落格搬家系列(五)-爬取開源中國部落格 一.前情回顧 部落格搬家系列(一)-簡介:https://blog.csdn.net/rico_zhou/article/details/83619152 部落格搬家系列(二)-爬取CSDN部落格:http
基於java的微信小程式的實現(五)使用者個人資訊小程式端開發
1.個人資訊頁面展示 2.顯示個人資訊功能 1.需求分析 在該頁面首先需要在載入完畢後去呼叫後端的查找個人資訊的介面,並將返回的值回顯到個人資訊頁面上 2.js程式碼的編寫 onLoad:function(params){ var me=this;
微信開發學習總結(五)——素材管理(1)—獲取臨時素材和新增永久素材
這裡需要說一下圖片,語音,視訊的回覆訊息構造,這三種訊息構造時的都需要一個mediaId,而這個mediaId是通過素材管理介面上傳多媒體檔案得到的,為了構造圖片,語音,視訊的這幾種回覆訊息,我事先準備好了測試素材,如下圖所示: 客服介面圖文推送上傳圖片 在傳送圖文訊息時,我們需要新
C#微信支付(五)—— 申請退款
退款也比較簡單,需要注意的是退款是需要證書的,需要去 微信商戶平臺(pay.weixin.qq.com)–>賬戶中心–>賬戶設定–>API安全–>證書下載, 把證書下載好後代入請求中。相關連結:申請退款 這是WxPayApi.cs的一個