【发布时间】:2020-05-09 10:12:45
【问题描述】:
我试图让这个for 循环将结果打印为同一数据帧的相应行。我尝试了这段代码,但它似乎不起作用。它现在给出一个索引错误,因为它为每次迭代输出单独的空数据帧。
list2=[(('ATM',), ('ROA',)), (('ATM',), ('ROE',)), (('ATM',), ('NIM',)), (('ATM',), ('ROA', 'ROE')), (('ATM',), ('ROA', 'NIM'))]
tm_final = {0: 3, 1: 6, 2: 4, 3: 2, 4: 0}
totalrows=sum(tm_final[i]>0 for i in tm_final)
df=pd.DataFrame(columns=['A','B','C'])
for i in tm_final:
if tm_final[i]>0:
for j in range(totalrows):
df.iloc[j,0]=i
df.iloc[j,1]=str(list2[i])
df.iloc[j,2]=tm_final[i]
print(df)
想要的结果:
A B C
0 (('ATM',), ('ROA',)) 3
1 (('ATM',), ('ROE',)) 6
2 (('ATM',), ('NIM',)) 4
3 (('ATM',), ('ROA', 'ROE')) 2
【问题讨论】:
标签: python-3.x list for-loop