1

列を通過する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
4

0 に答える 0