繁体   English   中英

将txt文件转换为邻接矩阵

[英]Convert a txt file to a adjacency matrix

我有一个类似的问题,如将邻接矩阵转换为 csv 文件

我想使用 python (或可能是 R)将邻接矩阵 output 从 ARACNE 转换为 csv 文件。

adj 文件设置为显示一个基因的右侧以及它与其他基因的每个相互作用。 例如 a.csv 的文件为:

A B 0.4 C 0.3
B C 0.1 E 0.4
C D 0.2 E 0.3

所以上面,A 和 B 相互交互,交互的值为 0.4。 A 和 C > > 相互影响,取值为 0.3 以此类推。

我想更改布局,所以我将文件 b.csv 作为...

A B 0.4
A C 0.3
B C 0.1
B E 0.4
C D 0.2
C E 0.3

基本上我想要一个所有交互节点和相应值的列表,以便我可以将文件上传到 Cytoscape 和 plot 网络。

在这篇文章中,使用 Python 有一个很棒的答案。 如果我想将b.csv的格式转换回a.csv怎么办? 我挠了挠头,但找不到解决办法。 我很想看看 Python 是如何做到的!

谢谢回答。 -小勇

这可以使用pandas.Dataframe.groupby来完成

import pandas as pd

df = pd.read_csv('b.csv', delimiter=' ', header=None)

data = '' 
for key, value in df.groupby([0]):
    for i,item in enumerate(value.values):
        if i == 0:
            data += item[0]
        for itm in item[1:]:
            data += ' '+str(itm)
    data += '\n'

#Saving the string
with open('a.csv', 'w') as f:
    f.write(data)

b.csv中的数据为:

A B 0.4
A C 0.3
B C 0.1
B E 0.4
C D 0.2
C E 0.3
C F 0.3
A D 0.3

生成a.csv为:

A B 0.4 C 0.3 D 0.3
B C 0.1 E 0.4
C D 0.2 E 0.3 F 0.3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM