向dataframe添加(并计算)行,直到满足条件:

2024-04-29 10:01:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图构建一个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解决方案吗?在


Tags: importdataframeageasrpseriestailpd
1条回答
网友
1楼 · 发布于 2024-04-29 10:01:26

可能还有其他问题,但是您将使用while [i < 100]:进入无限循环,因为非空列表的计算结果始终为True。将其更改为while (i < 100):(parens可选),并删除您的break语句,该语句只强制执行一次迭代。在

相关问题 更多 >