首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

生信(五)awk求取某一列平均值

关键词:awk awk是生信人必须要掌握命令行工具。为什么?因为它太强大了。我们举一个例子来说明。 假设我们有一个1000万行文件,大概长这样: ? 怎么求第四平均数呢?...R版本 用R来做计算也是很适合,比如像这样: ? 其耗时: ? 可以看出R耗时非常久,我想一个重要原因就是R在加载文件时“自动识别”了每一列数据类型,比如是字符串类型还是数字类型。...当然,R语言本身就非常慢,这也是很出名! awk版本 awk用一行代码就可以解决问题,像这样(注意耗时): ? 至此,我们可以看出,awk代码简单,但是性能却不差!...在同样机器上处理同样文件,awk运行时间是Python一半左右,是R大概十分之一。可以说,awk已经非常快了! C版本 都说C快,让我们看看到底有多快。代码如下: ? ? 其耗时: ?...可以看出,C版本也仅比awk稍快一点点。但是,C代码复杂多了!由此,我们可以粗略比较出awk是一个非常完美的文本处理工具! 如果有任何问题,欢迎交流!

2.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

C语言读取文件(一)再谈如何求某一列平均值

本文粗浅比较了C语言中常用几种读取文件函数效率,并给出了几段求取某平均值代码。...第一部分:比较读取文件效率 在之前文章《生信(五)awk求取某一列平均值,笔者曾经给出过C语言求取某平均值代码,但是最近回顾时发现,这段代码至少有几点不足: 利用 fgetc 函数来读取文件...:比较求取平均值效率 那么各个函数计算平均值效率如何呢?...我们依然使用上面那1000万行文件,用上述各个函数实现计算第2平均数功能,它们效率如下: ? 代码如下:main 函数大体上是一样,只是 colAver 函数实现不一样。...但是仍然有前提,就是文件每一行分隔符(数)是一样,否则代码可能会出错。) 这些代码,fscanf 最简短,该函数可以大大提高格式化读取数据编程效率。

2K20

问与答112:如何查找一列内容是否在另一列并将找到字符添加颜色?

Q:我在D单元格存放着一些数据,每个单元格多个数据使用换行分开,E是对D数据相应描述,我需要在E单元格查找是否存在D数据,并将找到数据标上颜色,如下图1所示。 ?...图1 如何使用VBA代码实现?...A:实现上图1所示效果VBA代码如下: Sub ColorText() Dim ws As Worksheet Dim rDiseases As Range Dim rCell...End If Loop Next iDisease Next rCell End Sub 代码中使用Split函数以回车符来拆分单元格数据并存放到数组...,然后遍历该数组,在E对应单元格中使用InStr函数来查找是否出现了该数组,如果出现则对该添加颜色。

7.1K30

大佬们,如何把某一列包含某个所在行给删除

一、前言 前几天在Python白银交流群【上海新年人】问了一个Pandas数据处理问题,一起来看看吧。 大佬们,如何把某一列包含某个所在行给删除?比方说把包含电力这两个字行给删除。...这个方法肯定是可行,但是这里粉丝想要通过Python方法进行解决,一起来看看该怎么处理吧。...二、实现过程 这里【莫生气】给了一个思路和代码: # 删除Column1包含'cherry'行 df = df[~df['Column1'].str.contains('电力')] 经过点拨,顺利地解决了粉丝问题...顺利地解决了粉丝问题。 但是粉丝还有其他更加复杂需求,其实本质上方法就是上面提及,如果你想要更多的话,可以考虑下从逻辑 方面进行优化,如果没有的话,正向解决,那就是代码堆积。...这里给大家分享下【瑜亮老师】金句:当你"既要,又要,还要"时候,代码就会变长。

16610

Excel如何“提取”一列红色单元格数据?

Excel技巧:Excel如何“提取”一列红色单元格数据? ? 场景:财务、HR、采购、商务、后勤部需要数据整理办公人士。 问题:Excel如何“提取”一列红色单元格数据?...具体操作方法如下:第一步:进行颜色排序 将鼠标放置在数据区任意单元格,单击“排序”按钮(下图1处),对下列表“型号”进行“单元格颜色”按红色进行排序。(下图3处) ?...第二步:复制红色单元格数据 将红色单元格数据复制到D。黏贴时可以选择“选择性黏贴—”。效果如下: ? 是不是很快搞定了客户朋友问题。但这样有个问题,破坏了数据原有的顺序。这时候怎么办呢?...补救步骤:增加辅助 排序前,新增一列“序号”。 ? 按颜色排序,复制出数据后,序号顺序被打乱。 ? 第三步:按序号在升序排序。...直接光标停在序号列上,单击“升序”按钮,即可恢复到排序前顺序。(下图中AZ为快捷升序按钮) ? 升序后,效果如下: ? 总结:辅助是Excel中常见解决问题方法和思路。

5.6K20

Excel公式练习38: 求一列数字剔除掉另一列数字后剩下数字

本次练习是:如下图1所示,在单元格区域A2:A12和B2:B12给定两数字,要在C从单元格C2开始生成一列数字。规则如下: 1. B数字数量要小于等于A数字数量。 2....B任意数字都可以在A中找到。 3. 在A或B已存放数字单元格之间不能有任何空单元格。 4. 在C数字是从A数字移除B数字在A第一次出现数字后剩下数字。 5....换句话说,B和C数字合起来就是A数字。 ? 图1 在单元格D1数字等于A数字数量减去B数字数量后,也就是C数字数量。...现在,要在单元格C2编写一个公式,然后下拉至单元格C12,得到如上图1所示结果。 那么,如何编写这个公式呢? 先不看答案,自已动手试一试。...在公式IF子句第一部分: IF(ROWS($1:1)>$D$1,"" 非常直观,如果公式向下拖放后ROWS函数大于7,则返回空。 重点在IF子句第二部分,即其判断条件为FALSE部分。

3.2K20

python读取txt一列称为_python读取txt文件并取其某一列数据示例

python读取txt文件并取其某一列数据示例 菜鸟笔记 首先读取txt文件如下: AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90 AAAAF110...print(i) 输出结果为: [‘0003E1FC’] [‘0003E208’] [‘0003E204’] [‘0003E208’] [‘0003E1FC’] 以上这篇python读取txt文件并取其某一列数据示例就是小编分享给大家全部内容了...,改变了类型 第三:查看类型 print(data.dtypes) 第四:方法一 本文实例讲述了python读取json文件并将数据插入到mongodb方法.分享给大家供大家参考.具体实现方法如下...最近利用Python读取txt文件时遇到了一个小问题,就是在计算两个np.narray()类型数组时,出现了以下错误: TypeError: ufunc ‘subtract’ did not contain...a loop with signature matching types dtype(‘ 如何用python循环读取下面.txt文件,用红括号标出来数据呢?

5.1K20

删除 NULL

图 2 输出结果 先来分析图 1 是怎么变成图 2,图1 tag1、tag2、tag3 三个字段都存在 NULL ,且NULL无处不在,而图2 里面的NULL只出现在这几个字段末尾。...这个就类似于 Excel 里面的操作,把 NULL 所在单元格删了,下方单元格往上移,如果下方单元格仍是 NULL,则继续往下找,直到找到了非 NULL 来补全这个单元格内容。...有一个思路:把每一列去掉 NULL 后单独拎出来作为一张独立表,这个表只有两个字段,一个是序号,另一个是去 NULL 后。...一个比较灵活做法是对原表数据做转行,最后再通过行转列实现图2 输出。具体实现看下面的 SQL(我偷懒了,直接把原数据通过 SELECT 子句生成了)。...,按在原表列出现顺序设置了序号,目的是维持同一列相对顺序不变。

9.7K30

Pandas如何查找某中最大

一、前言 前几天在Python白银交流群【上海新年人】问了一个Pandas数据提取问题,问题如下:譬如我要查找某中最大如何做? 二、实现过程 这里他自己给了一个办法,而且顺便增加了难度。...print(df[df.点击 == df['点击'].max()]),方法确实是可以行得通,也能顺利地解决自己问题。...顺利地解决了粉丝问题。 三、总结 大家好,我是皮皮。这篇文章主要盘点了一个Pandas数据提取问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝【上海新年人】提出问题,感谢【瑜亮老师】给出思路,感谢【莫生气】、【添砖java】、【冯诚】等人参与学习交流。

23710

按照A进行分组并计算出B每个分组平均值,然后对B每个元素减去分组平均值

一、前言 前几天在Python星耀交流群有个叫【在下不才】粉丝问了一个Pandas问题,按照A进行分组并计算出B每个分组平均值,然后对B每个元素减去分组平均值,这里拿出来给大家分享下,一起学习...888] df = pd.DataFrame({'lv': lv, 'num': num}) def demean(arr): return arr - arr.mean() # 按照"lv"进行分组并计算出..."num"每个分组平均值,然后"num"每个元素减去分组平均值 df["juncha"] = df.groupby("lv")["num"].transform(demean) print(df...(输入是num,输出也是一列),代码如下: import pandas as pd lv = [1, 2, 2, 3, 3, 4, 2, 3, 3, 3, 3] num = [122, 111, 222...这篇文章主要分享了Pandas处理相关知识,基于粉丝提出按照A进行分组并计算出B每个分组平均值,然后对B每个元素减去分组平均值问题,给出了3个行之有效方法,帮助粉丝顺利解决了问题。

2.8K20

Excel公式技巧73:获取一列中长度最大数据

在《Excel公式技巧72:获取一列单元格内容最大长度》,我们使用一个简单数组公式: =MAX(LEN(B3:B12)) 获取一列单元格内容最长文本长度。...那么,这个最长文本是什么呢?我们如何使用公式获取长度最长文本数据?有了前面的基础后,这不难实现。...图1 我们已经知道,公式: MAX(LEN(B3:B12)) 得到单元格区域中最长单元格长度:12 公式: LEN(B3:B12) 生成由单元格区域中各单元格长度组成数组: {7;6;4...;5;12;6;3;6;1;3} 将上述结果作为MATCH函数参数,找到最大长度所在位置: MATCH(MAX(LEN(B3:B12)),LEN(B3:B12),0) 转换为: MATCH(12,...{7;6;4;5;12;6;3;6;1;3},0) 得到: 5 代入INDEX函数,得到: =INDEX(B3:B12,5) 得到内容最长单元格B7: excelperfect 如果将单元格区域命名为

5.4K10

合并excel,为空单元格被另一列替换?

一、前言 前几天在Python铂金交流群【逆光】问了一个Pandas数据处理问题,问题如下:请问 合并excel,为空单元格被另一列替换。...【逆光】:好,我去看看这个函数谢谢 【逆光】:我列表不挨着, a b互补,我需要变成c (c 包含 a 和 b) 【Siris】:最笨方法遍历判断呗 【逆光】:太慢了,我数据有点多。...【Siris】:你是说c是a和b内容拼接起来是么 【逆光】:是 【Siris】:那你其实可以直接在excel里用CONCAT函数。 【不上班能干啥!】:只在excel里操作,速度基本没啥改变。...我不写,就报这个错 【瑜亮老师】:有很多种写法,最简单思路是分成3行代码。就是你要给哪一列全部赋值为相同,就写df['列名'] = ''。不要加方括号,如果是数字,就不要加引号。...【瑜亮老师】:3一起就是df.loc[:, ['1', '', '3'']] = ["", 0, 0] 【不上班能干啥!】:起始这行没有报错,只是警告,因为你这样操作会影响赋值前变量。

100

问与答63: 如何获取一列数据重复次数最多数据?

学习Excel技术,关注微信公众号: excelperfect Q:如下图1所示,在工作表列A中有很多数据(为方便表述,示例只放置了9个数据),这些数据中有很多重复数据,我想得到重复次数最多数据是那个...,示例可以看出是“完美Excel”重复次数最多,如何获得这个数据?...在上面的公式: MATCH($A$1:$A$9,$A$1:$A$9,0) 在单元格区域A1:A9依次分别查找A1至A9单元格数据,得到这些数据第1次出现时所在行号,从而形成一个由该区域所有数据第一次出现行号组组成数字数组...MODE函数从上面的数组得到出现最多1个数字,也就是重复次数最多数据在单元格区域所在行。将这个数字作为INDEX函数参数,得到想应数据。...有兴趣朋友可以使用“公式求值”功能一步步查看数组公式实现过程,来理解这个数组公式原理。

3.5K20

根据 key 计算出对应 hash

根据 key 计算出对应 hash public V put(K key, V value) { if (value == null) //ConcurrentHashMap...); // 计算键对应码 // 根据码找到对应 Segment return segmentFor(hash).put(key, hash, value..., false); }   然后,根据 hash 找到对应Segment 对象: /** * 使用 key 码来得到 segments 数组对应 Segment */...相“与”,从而得到 hash 对应 segments 数组下标值,最后根据下标值返回散码对应 Segment 对象 return segments[(hash >>> segmentShift...同时,所有读线程几乎不会因本线程加锁而阻塞(除非读线程刚好读到这个 Segment 某个 HashEntry value 域为 null,此时需要加锁后重新读取该)。

1.2K30

PHP查找一列有序数组是否包含某方法

问题:对于一列有序数组,如何判断给出一个,该是否存在于数组。 思路:判断是否存在,最简单是,直接循环该数组,对每一个进行比较。但是对于有序数组来说,这样写就完全没有利用好“有序”这一特点。...,我们直接判断查找str是否等于中间mid,如果等于 直接返回 true; 2、如果查找str大于中间mid,则说明查找str可能在中间右边,即对开始front需重新赋值 = 中间mid...+ 1,结束end不用变,依次中间mid为新开始 + 结束; 3、如果查找str小于中间mid,则说明查找str可能在中间左边,即开始不用变,结束end需重新赋值 = 中间...– 1,依次中间mid为开始 + 新结束; —–如上,对于传入开始,结束,中间,进行比较。...){ $end = $mid - 1;//在后面 } } return false; } 返回结果:89为第四个元素下标3 int(3) 以上就是PHP查找一列有序数组是否包含某

2.3K31
领券