Python更改数据帧列的accross值

2024-10-03 23:22:00 发布

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

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

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

即使尝试

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

值保持为0(我使用了打印数据[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

Tags: 数据dataif数字findelsenumold