Использование фрейма данных Pandas для переменного числа столбцов и / или добавления столбцов - PullRequest
0 голосов
/ 08 июля 2019

Я пишу сценарий, в котором я создал массив, в котором есть белки, их причинные интеракторы, последующие причинные интеракторы и т. Д., Вплоть до порядка, определенного пользователем (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

В настоящий момент я поместил что-то, что совершенно очевидно не будет работать: я интерпретировал нотацию набора {} в обычном расположении данных для фрейма данных панд и попыталсядобавить эти объекты вместе, как они сформированы.Конечно, этот объект не любит, когда его помещают в качестве заданного объекта.

Я сослался на несколько сообщений обмена стека, таких как

этот

Но это больше о чтении файлов данных из csv и импорте в фрейм данных

И этот , который, я думаю, только что решил проблему, добавив префикс.Желательно, чтобы мои столбцы имели полезные имена, например '%s order' %2 для белка 2-го порядка и т. Д.

Существует также этот пост с ответом, включающим аргументы, хотя я не являюсьуверен, что это вполне применимо здесь.По крайней мере, я не понимаю, как бы я это использовал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...