我在python3.5中运行此代码以查找Concordance(逻辑回归).
for i in (ones2.index):
for j in (zeros2.index):
pairs_tested = pairs_tested+1
if(ones2.iloc[i,1] > zeros2.iloc[j,1]):
conc = conc+1
elif(ones2.iloc[i,1]==zeros2.iloc[j,1]):
ties = ties+1
else:
disc = disc+1
# Calculate concordance, discordance and ties
concordance = conc/pairs_tested
discordance = disc/pairs_tested
ties_perc = ties/pairs_tested
print("Concordance = %r", concordance)
print("Discordance = %r", discordance)
print("Tied = %r", ties_perc)
print("Pairs = %r", pairs_tested)
Run Code Online (Sandbox Code Playgroud)
有在0.15mln行zeros2(熊猫据帧)和36K行ones2(熊猫数据帧).两个表都有两个变量
[i]响应者(在0中,Responder0 = 0,在ones2中为Responders1 = 1).
[ii]概率(在0中的prob0和在ones2中的prob1).
我的问题是: for循环耗时12小时,并且在询问此问题时仍在运行.需要帮忙.如何更快地执行此操作.我在带有8GB RAM的Windows 64bit机器上运行它.