【发布时间】:2016-04-29 08:04:23
【问题描述】:
我正在尝试构建一个数据框,该数据框将一列中的前一行加 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
结果
Age SI
0 10 60
0 11 60
我知道 break 语句可以防止多次迭代,但没有它,循环似乎是无限的。
我正在努力实现:
Age SI
0 10 60
0 11 60
0 12 60
0 13 60
0 14 60
. . 60
0 100 60
有没有办法用一个while循环来完成这个?我应该改用 for 循环解决方案吗?
【问题讨论】:
标签: python loops numpy pandas while-loop