- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个矩阵形状 (600, 900 亿) 保存为 *.txt
文件。矩阵的每一行由不同的样本名称 sample_name1
、sample_name2
等命名。但是,有些样本名称未标准化,例如s###30023
然后是一个包含三个字符的字符串,每个字符长约 90 亿个字符。
sample_name1 ab2ab222baab22ba2bab2b2aab22ab22bababab2baab2b2a
矩阵的格式如下:
600 9123001002
sample_name1 ab2ab222baab22ba2bab2b2aab22ab22bababab2baab2b2a2bababab2baab2b2ab2a...
sample_name2 abbbbbbbbbbbb2bbbbbbbbbbabbbbbbaaabbbbbbbbb222bbbbbabababbbb2b2b2bbb...
...
我想为每个样本创建一个字典(或列表,pandas DataFrame),其中包含计算的唯一字符数。即,以字典形式:
sample_name1 = {'a': 1824600201, 'b': 2736900300, '2': 4561500501}
每一行。
在 Python 中计算字符的最快方法是使用 from collections import Counter
。可以将文本文件加载到 numpy
中,遍历矩阵的每一行,然后对每一行使用 Counter()
。
但是,如何为每一行刮取正确的标签,尤其是在这些标签未标准化的情况下?也许我可以为每个矩阵行取前 X 个字符?
最佳答案
假设数据量足够小以适合内存(每行),那么您可以做一些简单的事情:
results = {}
with open('<myfile>') as f:
next(f) # skip first line
for line in f:
title, code = line.strip().split(' ')
results[title] = Counter(code)
根据上面的小示例数据集,您将获得:
{'sample_name1': Counter({'.': 3, '2': 21, 'a': 22, 'b': 25}),
'sample_name2': Counter({'.': 3, '2': 7, 'a': 8, 'b': 53})}
关于python - 如何用 Python 计算每个矩阵行的字符数?柜台()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42258424/
我正在做一个汉诺塔程序 - 有 3 个钉子,第 1 个钉子上有一堆磁盘,按从大到小的顺序排列(最大的在底部,最小的在顶部)。您现在要做的就是将所有磁盘从 peg 1 移动到 peg 3,您可以使用 p
我有一个这样的计数器: counter = Counter(['a','a','b','b','b','c']) 给出这个对象: Counter({'b': 3, 'a': 2, 'c': 1}) 然
我正在尝试使用bloc模式构建购物车,这是我第一个 flutter 的应用程序,也是使用bloc。我的问题是,每次用户将产品添加到购物车时,我都试图获取int流。但似乎我在使用接收器和流错误,但我不知
我正在编写一个Java应用程序,它有时会生成整数值。 java应用程序在Windows机器上运行。我不知道这是否可行,但我想知道是否可以为这些值创建一个 Windows 计数器“MyCounter”,
我有一个矩阵形状 (600, 900 亿) 保存为 *.txt 文件。矩阵的每一行由不同的样本名称 sample_name1、sample_name2 等命名。但是,有些样本名称未标准化,例如s###
更新:: 好的,所以我在头文件中添加了这些新行: static void gcdStatsCounter();//increments counter static void display(); /
我是一名优秀的程序员,十分优秀!