楼主: 不二不幸福
2448 11

[问答] 统计每一列字母的个数 [推广有奖]

  • 0关注
  • 1粉丝

硕士生

33%

还不是VIP/贵宾

-

威望
0
论坛币
161 个
通用积分
2.8500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1641 点
帖子
76
精华
0
在线时间
160 小时
注册时间
2017-9-26
最后登录
2024-6-14

楼主
不二不幸福 发表于 2018-4-7 20:20:36 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
现有数据格式如下: read1_UMI.xlsx (9.46 KB)
1.PNG


现在想统计每一列中A\T\C\G\N的个数,每一行有12个字母,比如第一列有8个N,A\T\C\G个数为0
请问该怎么做呢?完全没有思路
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:数据格式 怎么做

回帖推荐

xjg 发表于10楼  查看完整内容

and this version is counter for columns ### import pandas as pd from collections import Counter file_p = "z:\\read1_UMI.xlsx" df0 = pd.read_excel(file_p, header=None, names=['gen']) vl = df0.gen.values ff = df = pd.DataFrame(ff) df.apply(lambda x: Counter(x), axis=0)

沙发
LiZara 发表于 2018-4-7 20:29:05
转成.txt。对每一行进行拆分成字符型。相同字符的加一,最后输出结果就可以了。这个是用面向对象的方法。

藤椅
楠楠01271 发表于 2018-4-7 20:35:05 来自手机
不二不幸福 发表于 2018-4-7 20:20
现有数据格式如下:


两种方法,一提取每列字母MID函数,然后筛选计数。二,利用excel数据_分列_固定列宽,将12个字母分成12列,筛选计数,或者直接用计数函数或者if函数

板凳
不二不幸福 发表于 2018-4-7 20:36:13
楠楠01271 发表于 2018-4-7 20:35
两种方法,一提取每列字母MID函数,然后筛选计数。二,利用excel数据_分列_固定列宽,将12个字母分成12列 ...
数据很大,很多行,excel根本打不开

报纸
不二不幸福 发表于 2018-4-7 20:37:42
LiZara 发表于 2018-4-7 20:29
转成.txt。对每一行进行拆分成字符型。相同字符的加一,最后输出结果就可以了。这个是用面向对象的方法。
怎么拆分啊

地板
LiZara 发表于 2018-4-7 20:39:52
嗯,用的Java,编写IO流,读txt文件,把文件内容存到字符串中,然后统计。

7
不二不幸福 发表于 2018-4-7 20:50:03
LiZara 发表于 2018-4-7 20:39
嗯,用的Java,编写IO流,读txt文件,把文件内容存到字符串中,然后统计。
java不会啊,可不可以用R或者python

8
LiZara 发表于 2018-4-7 21:06:33
用table可以对每一列进行统计,但是,需要先把一个列拆成每个字符一个列,楼上说很大excel根本打不开 ,那就字符串分割的一些函数试试。再table

9
xjg 发表于 2018-4-7 22:56:43
here you go
import pandas as pd
from collections import Counter

file_p = "z:\\read1_UMI.xlsx"

df = pd.read_excel(file_p, header=None, names=['gen'])
df.gen.apply(lambda x: Counter(list(x)))

10
xjg 发表于 2018-4-7 23:29:59
and this version is counter for columns
###
import pandas as pd
from collections import Counter

file_p = "z:\\read1_UMI.xlsx"

df0 = pd.read_excel(file_p, header=None, names=['gen'])
vl = df0.gen.values
ff = [list(x) for x in vl]
df = pd.DataFrame(ff)
df.apply(lambda x: Counter(x), axis=0)

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 12:35