DataFrame – Pandas. Atribuindo valores em colunas a partir da comparação de outra coluna

Tenho o seguinte DataFrame:

import pandas as pd df = pd.DataFrame({'id_emp': [1,2,3,4,1],                 'name_emp': ['x','y','z','w','x'],                 'donnated_value':[1100,11000,500,300,1000],                'refound_value':[22000,22000,50000,450,90]             }) df['return_percentagem'] = 100 * df['refound_value']/df['donnated_value'] df['classification_roi'] = '' 

Quero atribuir valores para df[‘classification_roi’] a partir dos valores de df[‘return_percentagem’]. Exemplo: Valores de df[“return_percentagem’] > 100, df[‘classification_roi’] = ‘Bom investimento’;Valores de df[“return_percentagem’] entre 99 e 50, df[‘classification_roi’] = ‘Médio investimento’;Valores de df[“return_percentagem’] <50 , df[‘classification_roi’] = ‘Péssimo investimento’.

Estou tentando o seguinte, sem sucesso:

def comunidade(): for i in df['return_percentagem']:     if df['return_percentagem'] < 50:                 df['classification_roi'] = 'Bad Investment'     elif df['return_percentagem'] > 50 | df['return_percentagem'] < 100:         df['classification_roi'] = 'Reasonable investment'     elif df['return_percentagem'] >= 100:         df['classification_roi'] = 'Good Investment' comunidade() 

Agradeço qualquer ajuda

Como fazer uma imagem sobrepor a outra?

Imagem exemplo

Olá! Eu gostaria de saber como eu faço para uma imagem sobrepor a outra, procurei tópico aqui mas não encontrei um exato. Gostaria que quando o mouse passasse a barra de menu ficasse branco, por cima daquele laranja, é possível só com CSS? Olhem o link “imagem exemplo”

Não disponibilizei código porque apenas quero sugestões, obrigado!

Mover elemento de uma div para outra sem mudar o estado

Como mover o conteúdo de uma div para outra div e manter o estado dos elementos?

Exemplo: mover um input de uma div para outra, sem criar um novo input e deletar o antigo, como acontece no código abaixo, mantendo assim o valor digitado no `input.

Este código é só um exemplo básico do que estou tentando fazer, não tem nada “caprichado”.

Eu poderia pegar o valor do input antigo e coloca-lo no novo input, mas estou usando o input como exemplo poderia ser qualquer outro elemento.

window.onload = function(){document.getElementsByTagName("input")[0].value="Valor do input";}; function mover(){   origem = document.getElementById("origem");   destino = document.getElementById("destino");      destino.innerHTML = origem.innerHTML;   origem.innerHTML=""; }
<div style="background:green" id="origem"><input id="input"></div> <div style="background:red" id="destino"></div> <button onclick="mover()">MOVER</button>

Como chamar uma função dentro de outra função em ELM?

A atividade seria: 2.10 Escrever uma função que retorne o valor de um número elevado à quarta potência. Essa função deve fazer uso de uma outra que calcula o quadrado de um número qualquer. Eu poderia simplesmente fazer :

module Fe02 exposing (..)

import Html

funcExp x = x^4

main = Html.text (String.fromFloat (funcExp 2))

e assim ele me daria como resultado através de servidor localhost: 16

Mas como a questão pede uma função chamando outra função, nesse caso como eu resolveria esse problema ?

Usando o resultado de uma função em outra

var request = require('request'); request.get('https://r2d2-secret-pass.herokuapp.com/validate', function(err, resp, body){   console.log(body); });  function CheckPassword(password){   var psw = /^[a-zA-Z0-9-]\w{1,6}$  /;   if (password.value.match(psw)){     alert('Senha válida, redirecionando ..');     document.location.assign(body);     return false;   }   else{     alert('Senha inválida. Tente novamente.');     return true;   } } 

Sou iniciante no JavaScript e preciso usar o ‘body’ da primeira função no ‘document.location.assign’ da segunda, alguma dica de como fazer ?

Utilizando return de outra classe

Bom dia amigos, Estou tentando implementar esse código mas está dando erro.

 public int totalFaltasAluno(int matricula) {         int totalFaltas = 0;         for(Integer item : faltas){             if(item == matricula){                 totalFaltas++;             }          }         return   totalFaltas;   public boolean verificarReprovacaoPorFalta(int matricula) {     int presenca = 90 - totalFaltas;//90 são os dias de aulas     if (presenca  < (90-0.75-90));// presenca menor que 75% de 90 dias de aulas          return true; } 

erro:

    Exception in thread "main" java.lang.Error: Unresolved compilation      problem:      totalFaltas cannot be resolved to a variable  at Gerenciar_frequencia.Pauta.verificarReprovacaoPorFalta(Pauta.java:45) 

Inserir objeto de uma LinkedList para uma LinkedList de outra classe

Eu possuo duas classes em meu projeto: Carros e CarrosInativos.

Na primeira, tenho uma LinkedList declarada da seguinte forma:

private LinkedList<Carro> carros = new LinkedList<Carro>(); 

Em seguida, tenho métodos de inserção, exclusão e listagem. No entanto, precisei também implementar um método para receber objetos do tipo Carro a partir da classe que eu criei para implementar os métodos referentes aos carros com a situação de inativo. Este método simplesmente recebe um objeto o insere no final da LinkedList da minha classe Carros.

public void alocaCarros(Carro carro) {         this.carros.add(carro);     }  

Na minha classe CarrosInativos possuo uma LinkedList para guardar os carros em situação de inatividade:

private LinkedList<Carro> carrosInativos = new LinkedList<Carro>(); 

Para realizar a inclusão desses carros inativos na lista de carros ativos quando necessário, invoquei a classe Carros dentro da classe CarrosInativos.

Carros carrosAtivos = new Carros(); 

Dentro dessa classe, possuo o método responsável por passar os objetos inseridos na fila de carros inativos para o método alocaCarros:

public void InsereCarros(){ carrosAtivos.alocaCarros(carrosInativos.getFirst());                 carrosInativos.remove(); } 

Eis que surge o problema: nos testes, tanto a minha lista de carros ativos quanto a lista de carros inativos estão recebendo objetos normalmente; no entanto, ao invocar o método, não é realizada a inserção do objeto passado.

OBS.: Ao inserir um System.out.println na classe alocaCarros usando como parâmetro o objeto recebido, o objeto é listado normalmente na saída.

Alterar uma tabela no banco de dados a partir de uma data em outra tabela

Tenho uma tabela ban_logs que contem uma data e preciso que após essa data, um evento ou trigger seja ativado para alterar o campo is_banned da tabela user_data.

ban_logs id, user_id, date, until_date;

user_data user_id, is_banned;

Quando a data for igual ao campo until_date(DATETIME), executar um evento para setar o campo is_banned = 0 where user_id = usuário da tabela ban_logs.

Alguém tem uma dica?

Obrigado

Popular uma outra array com o resultado de uma busca

Preciso pegar a array de objetos após a busca que faço com ng2-search-filter.

Abaixo onde tenho o input da minha busca já funcionando, e quero passar o resultado toda vez que é digitada (keyup) alguma letra, no caso, só falta passar o resultado, no caso o “result”, para poder trabalhar com ele no arquivo .ts

<div class="search-venda">    <input class="form-control"  type="text"  [(ngModel)]="term" (keyup)="onKey($  event, result)"  autocomplete="off" placeholder="Digite para pesquisar"> </div> 

Faço a impressão dos dados em uma table com o *ngFor

 <tr  *ngFor="let submission of vendas | filter:term; ">               <td>{{submission.cnpj}}</td>               <td>{{submission.razao_social}}</td>               <td>{{submission.funcionario}}</td> </tr> 

Tudo funcionando, só gostaria do resultado da pesquisa ser colocada em uma array resultante para poder passar como parâmetro no (keyup) e trabalhar com esses valores no arquivo .ts, preciso disso pois preciso de calcular alguns valores com os resultados obtidos.

como fazer o js esperar resolver e iniciar outra

Ola sou novo e apenas se viro no js atualmente usando vueJs. porem ainda não consigo transformar processo normal em async await, nem com promisse, do jeito antigo.

Sei que tenho que fazer entrar na cabeça isso mais direto ao problema.

Tenho um metodo no vuejs.

Carregar(data) {     let posicaoscroll = window.scrollY    data.map(res => this.messages.unshift(res))    window.scrollTo(0, posicaoscroll)  } 

As vezes quando executo funciona ao colocar os dados no inicio do array para fazer um carregamento das mensagens progressivo, o scroll muda de posição então uso isso para que continua no msm lugar mais é inserto hora funciona hora não. acredito que um esta sendo mais rapido do que outro pela característica do js.

então como transformar essa função em algo que só depois que fazer

data.map(res => this.messages.unshift(res))

executar

window.scrollTo(0, posicaoscroll)

Desde já agradeço.