使用pandas数据框获取可变的列数和/或添加列

时间:2019-07-08 16:51:31

标签: python pandas

我正在编写一个脚本,在其中我生成了一个数组,该数组包含蛋白质,它们的因果相互作用体,随后的因果相互作用体等,直至用户指定的顺序(max_order)。最后一列必须是网络末端的最终蛋白质的净效应(激活或抑制)(因此,在任何中间列中添加都必须在此之前)。我的脚本如下:

#!/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

此刻,我提出了一些显然不起作用的内容:我已经解释了熊猫数据帧的常规数据排列中的{} set表示法,并试图将这些对象形成时加在一起。当然,该对象不喜欢被放置为集合对象。

我已经提到了许多像

这样的堆栈交换帖子

this one

但这更多是关于从csv读取数据文件并将其导入数据框

And this one,我认为它已经通过“添加前缀”解决了这个问题。最好将列命名为有用的名称,例如'%s order' %2用于二阶蛋白质等。

也有this post的答案涉及args,尽管我不确定它在这里是否适用。至少,我不知道如何使用它。

0 个答案:

没有答案