如何设置数据库的.loc功能设置多个值熊猫吗?

问题描述 投票:0回答:2

我有做工精细下面几行:

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

但它不工作。

我想,也许有让组委会第一,然后每个值适用于每一列的一种方式,但我不知道怎么办。

提前致谢!

python pandas dataframe
2个回答
0
投票

您可以使用numpy

dbout['date'] = np.where(dbout['id'] == id, datevalue,None)

同样

dbout['number'] = np.where(dbout['id'] == id, numbervalue,None)

注:考虑到ID是预定义的,如果需要与其他一些替代无值。


0
投票

这应该工作。

dbOut.loc[dbOut["id"] == id, ["date", "number"]] = [datevalue, numbervalue]
© www.soinside.com 2019 - 2024. All rights reserved.