小编ps0*_*604的帖子

两个或多个数据框的全外连接

鉴于以下三个 Pandas 数据框,我需要将它们合并为类似于 SQL 全外连接。请注意,键是多索引的,type_N并且id_NN= 1,2,3:

import pandas as pd

raw_data = {
        'type_1': [0, 1, 1,1],
        'id_1': ['3', '4', '5','5'],
        'name_1': ['Alex', 'Amy', 'Allen', 'Jane']}
df_a = pd.DataFrame(raw_data, columns = ['type_1', 'id_1', 'name_1' ])

raw_datab = {
        'type_2': [1, 1, 1, 0],
        'id_2': ['4', '5', '5', '7'],
        'name_2': ['Bill', 'Brian', 'Joe', 'Bryce']}
df_b = pd.DataFrame(raw_datab, columns = ['type_2', 'id_2', 'name_2'])

raw_datac = {
        'type_3': [1, 0],
        'id_3': ['4', '7'],
        'name_3': ['School', 'White']}
df_c …
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

3
推荐指数
1
解决办法
1万
查看次数

Javascript concat方法的结果顺序

连接结果的顺序是否始终保留?

var alpha = ['a', 'b', 'c'];
var numeric = [1, 2, 3];

alpha.concat(numeric);
// result in ['a', 'b', 'c', 1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

javascript

3
推荐指数
1
解决办法
179
查看次数

Angular 6 不验证条件 [必需]

我在 NgForm 中有以下字段:

<input type="text" name="depVarName" [(ngModel)]="variable.depVarName" 
       #depVarName="ngModel" id="depVarName"  
       [required]="'depSelected>0'" />
<div *ngIf="submitted" class="errorMsg">
   <label *ngIf="depVarName.control.hasError('required')">Dependency is required</label>
</div>
Run Code Online (Sandbox Code Playgroud)

问题是无论[required]相关条件如何,该字段始终是必需的depSelected>0depSelected不是 DOM 元素,这可能是问题所在吗?

angular

3
推荐指数
1
解决办法
2386
查看次数

实现与多个 EJB 的接口

给出以下接口:

public interface MyRunnable {   
    public MyResponse run(int x);
}
Run Code Online (Sandbox Code Playgroud)

它由两个 bean 实现@Stateless

@Stateless
public class Bean1 implements MyRunnable {

     public MyResponse run(int x) {
           // some logic
     }
}


@Stateless
public class Bean2 implements MyRunnable {

     public MyResponse run(int x) {
           // some logic
     }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想根据条件运行一个或另一个 bean。实现这一目标的最佳方法是什么?

这是我尝试过的,但没有成功:

@Stateless
@LocalBean
public class MainBean {

   @Inject 
   private Bean1 bean1;

   @Inject 
   private Bean2 bean2;

   public void someMethod(int y) {

          MyRunnable runnable = null;
          if (y == 1)
              runnable …
Run Code Online (Sandbox Code Playgroud)

java ejb java-8 jakarta-ee

3
推荐指数
1
解决办法
568
查看次数

如何使用 docker compose YAML 在 Azure 中安装 docker 卷

我正在尝试在 Azure 中部署 PosgreSQL Docker 容器。为此,我在 Azure 中创建了一个存储帐户和一个文件共享来存储 Docker 卷。

另外,我创建了 Docker Azure 上下文并将其设置为默认值。

为了创建卷,我运行:

volume create volpostgres --storage-account mystorageaccount
Run Code Online (Sandbox Code Playgroud)

我可以验证该卷是使用docker volume ls.

ID                            DESCRIPTION
mystorageaccount/volpostgres   Fileshare volpostgres in mystorageaccount storage account
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用 进行部署时docker compose up,我得到了

could not find volume source "volpostgres"
Run Code Online (Sandbox Code Playgroud)

这是不起作用的 YAML 文件。如何修复它?如何正确指向音量?

version: '3.7'
services:
  postgres:
    image: postgres:13.1
    container_name: cont_postgres
    networks:
      db:
        ipv4_address: 22.225.124.121
    ports:
      - "5432:5432"
    environment:  
      POSTGRES_PASSWORD: xxxxx
    volumes:
      - volpostgres:/var/lib/postgresql/data
networks:
   db:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: …
Run Code Online (Sandbox Code Playgroud)

azure docker docker-compose

3
推荐指数
1
解决办法
7249
查看次数

如何在 Docker Compose 中启动 Apache Drill

此链接解释了如何在 Docker 上运行 Apache Drill。

docker run -i --name drill-1.18.0 -p 8047:8047 -t apache/drill:1.18.0 /bin/bash
Run Code Online (Sandbox Code Playgroud)

我需要在 Docker Compose 上运行它,所以我进行了设置:

   version: "3.0"
   services:
      drill:
        image: apache/drill:latest
        ports:
          - "8047:8047"
        volumes:
          - vol_dask_data:/data
        entrypoint:
          - /bin/bash
Run Code Online (Sandbox Code Playgroud)

并像这样开始:

docker-compose up -d
Run Code Online (Sandbox Code Playgroud)

但是容器结束时没有执行任何操作,即使我启动 docker compose with -d.

如何在 Docker Compose 中启动 Drill?

docker docker-compose apache-drill

3
推荐指数
1
解决办法
1723
查看次数

在分布式 dask 中提交工作函数,无需等待函数结束

我有这个使用该apscheduler库提交进程的 python 代码,它工作正常:

from apscheduler.schedulers.background import BackgroundScheduler

scheduler = BackgroundScheduler()
array = [ 1, 3, 5, 7]

for elem in array:
    scheduler.add_job(function_to_submit, kwargs={ 'elem': elem })

scheduler.start()


def function_to_submit(elem):
     print(str(elem))
Run Code Online (Sandbox Code Playgroud)

请注意,进程是并行提交的,并且代码不会等待进程结束。

我需要的是将此代码迁移到dask distributed使用工作人员。我遇到的问题是,如果我使用dask提交方法,代码将等待所有函数结束,我需要代码继续。如何实现这一目标?

   client = Client('127.0.0.1:8786')
   future1 = client.submit(function_to_submit, 1)
   future3 = client.submit(function_to_submit, 3)
   L = [future1, future3]
   client.gather(L)  # <-- this waits until all the futures end
Run Code Online (Sandbox Code Playgroud)

python apscheduler dask dask-distributed

3
推荐指数
1
解决办法
1149
查看次数

如何刷新KendoUI/Angular网格的列

根据Kendo UI/Angular文档(参见此处),网格不支持在实例化窗口小部件后重新定义列.这就是为什么剑道提供k-ng-delay关键字.这工作正常,但我需要多次重新定义网格列,而不仅仅是一次.有没有办法在Angular中以编程方式重新创建网格?或者有关如何多次重新定义网格列的任何其他想法?

kendo-ui angularjs kendo-grid

2
推荐指数
1
解决办法
3693
查看次数

在 KendoGrid 模板中使用函数

在这个 plunk 中,我有一个 AngularJS KendoGrid,其中包含两列:代码和名称。代码是一个数字,名称是代码的函数:getName(code)。我将该函数放入模板中,但是我得到了function undefined. 有任何想法吗?

超文本标记语言

   <div kendo-grid="grid" 
        k-data-source="ds" 
        k-options="gridOptions"></div>
Run Code Online (Sandbox Code Playgroud)

JavaScript

var app = angular.module("app", [ "kendo.directives" ]);

function MyCtrl($scope) {


    $scope.gridOptions = {
            columns: [
              {
                        field: "code"
                },
                {
                    field: "name",
                    template: '#= getName(code) #'
             }]
  };


    var getName = function(code) {
      return "This code is " + code;
    };


    $scope.ds = [{ code: 1  },
              { code: 2 },
              { code: 3 },
              { code: 4 },
              { code: 5 …
Run Code Online (Sandbox Code Playgroud)

kendo-ui angularjs

2
推荐指数
1
解决办法
4358
查看次数

Fabricjs:点击画布进入 IText

这个jsfiddle的目标如下:

  • 用户点击画布
  • 光标显示在用户单击的位置
  • 用户可以输入文字

我尝试enterEditing在用户单击画布后立即使用 IText方法,但光标没有出现,因此用户不知道他们可以输入文本。此外,在 Chrome 和 Firefox 中,用户根本无法输入文本。有任何想法吗?

Javascript

var canvas = new fabric.Canvas('c');

canvas.on('mouse:down', function(options) {
    if (options.target == null) 
         addText(options.e);
});


function addText(e) {

        var text = new fabric.IText('',{
            left: e.offsetX,
            top: e.offsetY
        });

        canvas.add(text);
        text.enterEditing();
}
Run Code Online (Sandbox Code Playgroud)

fabricjs

2
推荐指数
1
解决办法
2798
查看次数