python - 将txt文件转换为邻接矩阵
问题描述
我有一个与 将邻接矩阵转换为 csv 文件中发布的类似的问题
我想使用 python(或者可能是 R)将 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 并绘制一个网络。
在这篇文章中,有一个使用 Python 的很棒的答案。如果我想将 b.csv 的格式转换回 a.csv 怎么办?我挠了挠头,但找不到解决办法。我很想看看 Python 是如何做到这一点的!
谢谢回答。-小勇
解决方案
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
推荐阅读
- c++ - 如何理解 C++11 随机数生成器
- python - 为什么缩进不能在第二个循环中以额外的缩进开始
- templates - Flask:如果没有被另一个模板扩展,则创建块的内容
- amazon-web-services - 我可以在从控制台终止 EC2 实例时触发 MFA
- python - 如何在python中编写读取大型数据集并转换为性能良好的特定数据类型的代码
- android - 如何刷新文件夹的内容?
- python - 你能告诉我我的代码有什么问题吗?
- java - 如何使用 Spring Ldap 模板更新密码?
- php - 使用 laravel 社交名流实现 facebook 登录时出现 parse_str() 错误
- c# - 在 C# 中删除 2D 列表的重复条目