我一直在尝试标记功能部件中的值(如果它们在列表中)。我的工作方式效率很低。
private readonly object locker = new object();
public async Task<string> DecreaseInvByTen()
{
using (var tran = _context.Database.BeginTransaction())
{
try
{
lock(locker) {
var invReduce = _context.Inventorys.Where(w=>w.id == 1).FirstOrDefault(); // availQty is 100.
Thread.Sleep(60000); // Goes some long process.
invReduce.availQty -= 10;
await _context.SaveChangesAsync();
tran.Commit();
}
return invReduce.availQty.ToString();
}
catch (Exception ex)
{
tran.Rollback();
return ex.ToString();
}
}
}
功能中将1设置为相应的索引。 一百万行数据帧完成此循环大约需要14分钟。这是我的代码。
flag
是否可以通过设置操作和df_train['flag'] = 0
for value in big_list:
for df in [df_train, df_test]:
idx = np.where(df['feature'] == value)
df.loc[idx[0], 'flag'] = 1
CPU times: user 14min 48s, sys: 3.46 s, total: 14min 51s
Wall time: 14min 52s
运算符在 O(1)时间或任何更快的解决方案中实现这一目标?