我试图构建一个dataframe,它将1添加到列的前一行,直到满足条件为止。在本例中,我想继续添加行,直到列'AGE'=100。在
import pandas as pd
import numpy as np
RP = {'AGE' : pd.Series([10]),
'SI' : pd.Series([60])}
RPdata = pd.DataFrame(RP)
i = RPdata.tail(1)['AGE']
RPdata2 = pd.DataFrame()
while [i < 100]:
RPdata2['AGE'] = i + 1
RPdata2['SI'] = RPdata.tail(1)['SI']
RPdata = pd.concat([RPdata, RPdata2], axis = 0)
break
print RPdata
结果
^{pr2}$我知道break语句可以防止多次迭代,但是没有它循环似乎是无限的。在
我正在努力实现:
Age SI
0 10 60
0 11 60
0 12 60
0 13 60
0 14 60
. . 60
0 100 60
有没有一种方法可以用while循环来实现这一点?我应该使用for-loop解决方案吗?在
可能还有其他问题,但是您将使用
while [i < 100]:
进入无限循环,因为非空列表的计算结果始终为True。将其更改为while (i < 100):
(parens可选),并删除您的break
语句,该语句只强制执行一次迭代。在相关问题 更多 >
编程相关推荐