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