我有一个对象列表
data class OldFormat(ShiftId: Int, NozzleValue: Int, NozzleId: Int , UserId: Int)
Run Code Online (Sandbox Code Playgroud)
我想按两个字段“shiftId 和 userId”进行分组,然后从同一组的最小值中减去每个组的最大值,然后对结果求和,然后将其转换为此类的新对象:
data class NewFormat(ShiftId: Int, NozzleValue: Int, UserId: Int)
Run Code Online (Sandbox Code Playgroud)
过程是这样的:
listOfOldFormat -> groupby(shiftId, userId) -> sum(maximumValue-minimumValue) -> listOfNewFormat
Run Code Online (Sandbox Code Playgroud) 如何在代码中按三个或更多字段进行groupBy?我的代码如下:
val nozzleSaleReport = nozzleStateList.groupBy {
{it.shift.id},{it.createUser.id},{it.nozzle.id} // Here I need to add these three fields for grouping operation
}.map { entry ->
val max: Float = (entry.value.maxBy { it.nozzleState.finalLitreMechanical }?.nozzleState!!.finalLitreMechanical ?: 0).toString().toFloat()
val min: Float = (entry.value.minBy { it.nozzleState.finalLitreMechanical }?.nozzleState!!.finalLitreMechanical ?: 0).toString().toFloat()
NozzleSaleReport(entry.value[0].createUser.name, entry.value[0].shift.name, (max - min).toInt(),entry.value[0].shift.id, entry.value[0].nozzle.id, entry.value[0].nozzle.name)
}.let {
println(it)
}
Run Code Online (Sandbox Code Playgroud) 我需要使用“代码优先”方法通过Entity Framework Core 2.1生成数据库,但出现此错误:
The specified field 'Model' could not be found for property 'Model' on entity type 'BarCodeDevice'.
Run Code Online (Sandbox Code Playgroud)
这是我曾经这样做过的课程
public class BarCodeDevice
{
public int SerialNumber { get; set; }
public string Model { get; set; }
public virtual ICollection<ClientBarCodeDevice> ClientBarCodeDeviceList { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和配置类
public class BarCodeDeviceConfiguration : IEntityTypeConfiguration<BarCodeDevice>
{
public void Configure(EntityTypeBuilder<BarCodeDevice> builder)
{
builder.HasKey(x => x.SerialNumber);
builder.Property(t => t.Model)
.IsRequired()
.HasField("Model");
}
}
Run Code Online (Sandbox Code Playgroud)
和DbContext类
public class SegregationDbContext : DbContext, IDisposable
{
public SegregationDbContext(DbContextOptions<SegregationDbContext> options) …Run Code Online (Sandbox Code Playgroud) 我的python项目有以下导入列表:
import pandas as pd
import time
import sqlalchemy
from sklearn.ensemble import RandomForestClassifier
import pandas as pd
import numpy as np
from sqlalchemy import Column, String, Float, Integer, SmallInteger, MetaData
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
Run Code Online (Sandbox Code Playgroud)
以及用于分发项目的此规范文件:
import sys
sys.setrecursionlimit(5000)
block_cipher = None
a = Analysis(['DataManager.py'],
pathex=['E:\\ForexPredictor'],
binaries=[],
datas=[],
hiddenimports=['cython','pymysql','pandas._libs.tslibs.timedeltas','sklearn.neighbors.typedefs','sklearn.utils.typedefs'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
[],
exclude_binaries=True,
name='DataManager',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True )
coll = COLLECT(exe, …Run Code Online (Sandbox Code Playgroud) 我有这段代码来显示用户可以选择的颜色列表:
<form>
<h4>mat-select</h4>
<mat-form-field appearance="fill">
<mat-label>Favorite Color</mat-label>
<mat-select [(ngModel)]="selectedValue" name="food">
<mat-option *ngFor="let color of allColors" [value]="'#' + color.value">
<!-- {{color.label}} -->
<span class="color-span" [ngStyle]="{ 'background-color': '#' + color.value }"></span>
</mat-option>
</mat-select>
</mat-form-field>
</form>
import {Component} from '@angular/core';
/**
* @title Select in a form
*/
@Component({
selector: 'select-form-example',
templateUrl: 'select-form-example.html',
})
export class SelectFormExample {
public allColors: any[] = [
{label: 'FFFFFF', value: 'FFFFFF'},
{label: '000000', value: '000000'},
{label: '603813', value: '603813'},
{label: 'FF0000', value: 'FF0000'},
{label: '2E3192', value: '2E3192'}, …Run Code Online (Sandbox Code Playgroud)