我正在写一个脚本,在这个脚本中,我生成了一个数组,其中包含蛋白质、它们的因果相互作用子、随后的因果相互作用子等等,直到用户指定的顺序(最大顺序)。最后一个柱必须是网络末端的最终蛋白质的净效应(激活或抑制)(因此添加任何中间柱都必须在这个柱之前)。我的脚本看起来像:
#!/usr/bin/env python
from nthOrder import nthOrderData
import pandas as pd
def networkBuild(zeroth_list, zeroth_regulator_list, max_order):
temp_array=zeroth_list
temp_reg_list = zeroth_regulator_list
for i in range(max_order):
temp_array, temp_reg_list = nthOrderData(temp_array,temp_reg_list,i+1)
#Make a set out of the orders to use as a pandas data frame
datalist = ['Zeroth order': temp_array[:,0]]
#
for i in range(max_order -1):
data= data + {'%s order' %(i+1) : temp_array[:,i+1]}
data= data + {'Net regulatory effect' : temp_reg_list}
data={'Zeroth Order': temp_array[:,0],
'First Order': temp_array[:,1],
...
'Net regulatory affect': temp_reg_list}
df=pd.DataFrame(data)
return df
目前,我已经做了一些显然不起作用的事情:我解释了pandas数据帧中通常的数据排列中的{}集表示法,并尝试在形成这些对象时将它们添加到一起。当然,这个对象不喜欢作为一个集合对象
我提到了一些堆栈交换的帖子,比如
但这更多的是从csv读取数据文件并导入数据帧
And this one我认为它通过添加前缀解决了这个问题。我更希望我的列被有效地命名,例如'%s order' %2
表示二级蛋白质等
还有this post的答案涉及args,尽管我不确定它在这里是否适用。至少,我不知道该怎么用
目前没有回答
相关问题 更多 >
编程相关推荐