1

我正在尝试通过使用遍历列的while循环将数据框列值更改为我生成的某个数字。数字(称为“num”)计算正常。我认为问题在于 while 循环末尾的行:

data.ix[i]['numOfDocuments'] = num

即使在尝试

data.ix[i]['numOfDocuments'] = 2

值保持为 0(我使用了 print data[numOfDocuments].sum() )

这是代码:

data['numOfDocuments'] = 0
i = 0
while (i < len(data)):
    old_str = data.ix[i]['Params']
    if (old_str != '{}') and (old_str.find('numOfDocuments') != -1):
        str = old_str.replace('{', '').replace('}', '')
        if (str.find(';',str.find('numOfDocuments')) == -1):
            num = int(str[(str.find('numOfDocuments') + 17)::])
        else:
            num = int(str[(str.find('numOfDocuments') + 17):(str.find(';',str.find('numOfDocuments')))])
    else:
        num = None
    data.ix[i]['numOfDocuments'] = num
    i += 1
4

0 回答 0