python - I have NoneType function return, how do I print/convert it in django views? -
i used lifelines library survival analysis, function called coxphfitter().print_summary()
return nonetype object, here code in survat.py
:
import pandas pd import numpy np import matplotlib.pyplot plt import lifelines lifelines import coxphfitter,aalenadditivefitter import os def printcox(*args): module_dir = os.path.dirname(__file__) # current directory file_path = os.path.join(module_dir, 'prostate1.csv') prostate_dataset=pd.read_csv(file_path) # prostate_dataset=pd.read_csv(args[0]) prostate_dataset=prostate_dataset[list(args[1:])] x in prostate_dataset: if (prostate_dataset[x].dtype=="object"): cat=pd.series(list(prostate_dataset[x])) y in pd.unique(cat): prostate_dataset[x+'.'+y]=pd.get_dummies(cat)[y] prostate_dataset.drop(x, axis=1, inplace=true) # prostate_dataset=prostate # print prostate_dataset else: pass # z in prostate_dataset: # print z cf=coxphfitter() cf.fit(prostate_dataset,args[1],event_col=args[2]) return cf.print_summary()
when called function in spyder , result's like:
but when called in views.py
, try print in .html, prints nothing because it's nonetype data, should deal this?
here views.py
:
def listindex(request): # handle file upload if request.method == 'post': form = documentform(request.post, request.files) if form.is_valid(): newdoc = document(docfile = request.files['docfile']) newdoc.save() # ert= form.cleaned_data['aalenmember'] # redirect document list after post return httpresponseredirect(reverse('survat.survatapp.views.listindex')) else: form = documentform() # empty, unbound form # load documents list page documents = document.objects.all() def delete_matrix(): documents = document.objects.all() document in documents: document.delete() if request.method == 'post': tempcox = [] tempaalen = [] timecolumn = request.post.get('timecolumn', '') tempcox.append(timecolumn) tempaalen.append(timecolumn) eventcolumn = request.post.get('eventcolumn', '') tempcox.append(eventcolumn) tempaalen.append(eventcolumn) coxmember = request.post.get('coxmember', '') aalenmember = request.post.get('aalenmember', '') coxmemberi = int(float(coxmember)) aalenmemberi = int(float(aalenmember)) coxcovariate = [] aalencovariate = [] j in range(1,coxmemberi): coxcovariate.append(request.post.get('coxcovariate'+str(j), '')) tempcox.append(request.post.get('coxcovariate'+str(j), '')) k in range(1,aalenmemberi): aalencovariate.append(request.post.get('aalencovariate'+str(k), '')) tempaalen.append(request.post.get('aalencovariate'+str(k), '')) ert = request.post.get('coxmember', '') ert = str(type(int(float(ert)))) else: tempcox = [] tempaalen = [] ert = "niji" timecolumn = "niji" eventcolumn = "niji" coxmember = "niji" aalenmember = "niji" coxmemberi = "niji" aalenmemberi = "niji" coxcovariate = [] aalencovariate = [] j in range(1,20): coxcovariate.append ("niji") k in range(1,20): aalencovariate.append ("niji") asdf=printcox('prostate1.csv','dtime','status1','age','hg','sz','sg','pf','rx') # render list page documents , form return render_to_response( 'survatapp/list.html', {'documents': documents, 'form': form, 'ert':ert, 'wer':tempaalen,'asdf':asdf}, context_instance=requestcontext(request) )
and called {{ asdf }}
in .html
thanks in advance :)
Comments
Post a Comment