我正在创建一个程序,用于计算客户数据之间的相关性。我想将相关值打印到CSV,以便进一步分析数据。
我已经成功地使我的程序遍历了所有客户(每个客户12个月的数据),同时为多个安排计算了它们各自的相关性。如果我打印到对话框,则可以看到此信息。
但是,当我尝试使用Savetxt进行保存时,我只会得到我计算出的最终值。
我认为我将for循环放置在错误的位置,应该放在哪里?我曾尝试检查其他问题,但并没有给它带来太多启示。
编辑:我尝试按照建议将文字与外部for循环和内部for循环对齐,两者均产生相同的结果。
for x_customer in range(0,len(overalldata),12):
for x in range(0,13,1):
cust_months = overalldata[0:x,1]
cust_balancenormal = overalldata[0:x,16]
cust_demo_one = overalldata[0:x,2]
cust_demo_two = overalldata[0:x,3]
num_acct_A = overalldata[0:x,4]
num_acct_B = overalldata[0:x,5]
#Correlation Calculations
demo_one_corr_balance = numpy.corrcoef(cust_balancenormal, cust_demo_one)[1,0]
demo_two_corr_balance = numpy.corrcoef(cust_balancenormal, cust_demo_two)[1,0]
demo_one_corr_acct_a = numpy.corrcoef(num_acct_A, cust_demo_one)[1,0]
demo_one_corr_acct_b = numpy.corrcoef(num_acct_B, cust_demo_one)[1,0]
demo_two_corr_acct_a = numpy.corrcoef(num_acct_A, cust_demo_two)[1,0]
demo_two_corr_acct_b = numpy.corrcoef(num_acct_B, cust_demo_two)[1,0]
result_correlation = [(demo_one_corr_balance),(demo_two_corr_balance),(demo_one_corr_acct_a),(demo_one_corr_acct_b),(demo_two_corr_acct_a),(demo_two_corr_acct_b)]
result_correlation_combined = emptylist.append([result_correlation])
cust_delete_list = [0,(x_customer),1]
overalldata = numpy.delete(overalldata, (cust_delete_list), axis=0)
numpy.savetxt('correlationoutput.csv', numpy.column_stack(result_correlation), delimiter=',')
print result_correlation
代码的这一部分很草率:
result_correlation = [(demo_one_corr_balance),...]
result_correlation_combined = emptylist.append([result_correlation])
cust_delete_list = [0,(x_customer),1]
overalldata = numpy.delete(overalldata, (cust_delete_list), axis=0)
numpy.savetxt('correlationoutput.csv', numpy.column_stack(result_correlation), delimiter=',')
print result_correlation
您result_correlation
在最里面的循环中进行设置,然后在最终的保存和打印中使用它。显然它将打印最后一个循环的结果。
同时,您可以将其附加到循环result_correlation_combined
外部x
,接近循环的趋势中x_customer
。但是您对列表不做任何事情。
最后,在x_customer
您使用的循环中overalldata
,但我看不到任何进一步的用途。
savetxt
现在就忘了,直接获取数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句