我正在尝试用熊猫sereis中字符的按列出现来填充dict。序列如下:
>>> jkl
1 ATGC
2 GTCA
3 CATG
Name: 0, dtype: object
我想要一个dict,其中包含所有字符作为键,列出现频率列表作为dict的值,如下所示:
{'A':[1,1,0,1],'C':[1,0,1,1],'G':[1,0,1,1],'T':[0,2,1,0]}
我试过几种代码,这是其中之一:
mylist = ['A', 'C', 'G','T']
dict = {key: None for key in mylist}
for i,(a,b) in enumerate(zip_longest(jkl[1],dict.keys())):
t=str(list(jkl.str[i]))
single_occurrences = Counter(t)
kl.append(single_occurrences.get(b))
dict[b]=kl
但是这个dict不包含期望的输出,有解决方案吗?你知道吗
Counter
np.add.at
完全不同的策略
DataFrame
Dictionary
我们可以对熊猫进行切片和计数,然后每次构造一个计数字典,如:
这给了我们一个数据帧:
然后我们可以用零填充
NaN
,并将数据转换成int
:最后,我们可以将此数据帧转换为列表字典:
在重新创建数据帧之后使用
crosstab
添加
to_dict
后相关问题 更多 >
编程相关推荐