我有几行工作正常:
dbOut.loc[dbOut["id"] == id, "date"] = datevalue
dbOut.loc[dbOut["id"] == id,"number"] = numbervalue
问题是,每一行都花费太多时间来运行。我喜欢这种类型的10行,所以我的迭代时间就像15次迭代/秒。只剩下一个就可以达到150次迭代/秒。
问题是:有没有办法只制作一个.loc
并将每个值设置为每一行?
我尝试过类似的事情:
dbOut.loc[dbOut["id"] == id, ["date","number"]] = datevalue, numbervalue
但它不起作用。
我认为也许有一种方法可以首先定位,然后将每个值应用于每个列,但我不知道如何。
谢谢!
答案 0 :(得分:0)
这应该有效。
dbOut.loc[dbOut["id"] == id, ["date", "number"]] = [datevalue, numbervalue]
答案 1 :(得分:0)
您可以使用numpy
dbout['date'] = np.where(dbout['id'] == id, datevalue,None)
类似地
dbout['number'] = np.where(dbout['id'] == id, numbervalue,None)
注意:考虑到id是预定义的,请根据需要用其他值替换None。