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