Amm*_*ema 3 python dictionary python-3.x pandas
我正在尝试用pandas sereis中的列式字符出现来填充一个字典.sereis如下:
>>> jkl
1 ATGC
2 GTCA
3 CATG
Name: 0, dtype: object
Run Code Online (Sandbox Code Playgroud)
我希望dict的方式包含所有字符作为键和列的明确出现频率列表作为dict的值,如下所示:
{'A':[1,1,0,1],'C':[1,0,1,1],'G':[1,0,1,1],'T':[0,2,1,0]}
Run Code Online (Sandbox Code Playgroud)
我尝试了几个代码,这是其中之一:
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
Run Code Online (Sandbox Code Playgroud)
但这个字典不包含所需的输出,是否有解决方案?
crosstab在重新创建数据帧后使用
S=pd.DataFrame(s.map(list).tolist()).melt()
pd.crosstab(S.value,S.variable)
Out[338]:
variable 0 1 2 3
value
A 1 1 0 1
C 1 0 1 1
G 1 0 1 1
T 0 2 1 0
Run Code Online (Sandbox Code Playgroud)
添加后 to_dict
pd.crosstab(S.value,S.variable).T.to_dict('l')
Out[342]: {'A': [1, 1, 0, 1], 'C': [1, 0, 1, 1], 'G': [1, 0, 1, 1], 'T': [0, 2, 1, 0]}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |