用.loc更改值不起作用

时间:2018-08-09 07:42:07

标签: python pandas

我想使用.loc()函数更改熊猫数据框中的值(“ not_found”)。

最小示例:

df = pd.DataFrame([[1,2,3,4], [5,25,"not_found",65], [11,22,33,44]], columns=["a", "b", "c", "d"])

      a    b  c            d
--  ---  ---  ---------  ---
 0    1    2  3            4
 1    5   25  not_found   65
 2   11   22  33          44

我这样做:

to_change = df[df.c == "not_found"].index
df.loc[to_change, ["c"]] == 1

但是什么都没有改变。带有“ not_found”的单元格仍然具有相同的值:

1    5   25  not_found   65

我也尝试了df.loc[to_change, "c"] == 1,但没有成功。

我该如何解决?

谢谢。

1 个答案:

答案 0 :(得分:-2)

最好的方法是使用router.route('/post/comment/destroy/:postroot').post(function (req, res) { var database = req.app.get('database') var postroot = path.parse(req.params.postroot).base; var filterd = req.body.commentid; database.PostModel.findOne({ "_id": postroot }, function (err, rawContent) { if (err) throw err; var idx; for (var i = 0; i < rawContent.comments.length ; i++){ if (rawContent.comments[i]._id == filterd) { idx = i; break; } } rawContent.comment.commentcount-=1; rawContent.comments.splice(idx, 1); rawContent.save(function (err) { if (err) throw err; }); }); res.redirect(`/post/${postroot}`); });

.at[]