Удобное значение «default» равно -1, поскольку argmax
не вернет это самостоятельно. None
не вписывается в целочисленный массив. Маскированный массив также является опцией, но я не зашел так далеко. Вот реализация NumPy
def my_argmax(a):
rows = np.where(a == a.max(axis=1)[:, None])[0]
rows_multiple_max = rows[:-1][rows[:-1] == rows[1:]]
my_argmax = a.argmax(axis=1)
my_argmax[rows_multiple_max] = -1
return my_argmax
Пример использования:
import numpy as np
a = np.array([[0, 0, 0], [4, 5, 3], [3, 4, 4], [6, 2, 1]])
my_argmax(a) # array([-1, 1, -1, 0])
Объяснение: where
выбирает индексы всех максимальных элементов в каждом ряд. Если строка имеет несколько максимумов, номер строки будет отображаться более одного раза в массиве rows
. Поскольку этот массив уже отсортирован, такое повторение обнаруживается путем сравнения последовательных элементов. Это идентифицирует строки с несколькими максимумами, после чего они маскируются в результате вывода метода NumPy argmax
.
использовать эту минимальную строку кода
<?php
include('db.php');
$emp_id= использовать эту минимальную строку кода
[110]POST['emp_id'];
$name= использовать эту минимальную строку кода
[110]POST['name'];
$title= использовать эту минимальную строку кода
[110]POST['title'];
$department= использовать эту минимальную строку кода
[110]POST['department'];
$leavetype= использовать эту минимальную строку кода
[110]POST['leavetype'];
$startdate= использовать эту минимальную строку кода
[110]POST['startdate'];
$enddate= использовать эту минимальную строку кода
[110]POST['enddate'];
$comments= использовать эту минимальную строку кода
[110]POST['comments'];
$status= использовать эту минимальную строку кода
[110]POST['status'];
$user= использовать эту минимальную строку кода
[110]POST['user'];
$document = "";
//if file is empty directly insert in table
if (isset( использовать эту минимальную строку кода
[110]FILES['documents']) && is_array( использовать эту минимальную строку кода
[110]FILES['documents']) && count( использовать эту минимальную строку кода
[110]FILES['documents']) > 0) {
$file= использовать эту минимальную строку кода
[110]FILES['documents']['tmp_name'];
$image = использовать эту минимальную строку кода
[110]FILES["documents"] ["name"];
$image_name= addslashes( использовать эту минимальную строку кода
[110]FILES['documents']['name']);
$size = использовать эту минимальную строку кода
[110]FILES["documents"] ["size"];
$error = использовать эту минимальную строку кода
[110]FILES["documents"] ["error"];
if ($error > 0){
die("Error uploading file! Code $error.");
exit;
}else{
if($size > 10000000) //conditions for the file
{
die("Format is not allowed or file size is too big!");
exit;
}else{
move_uploaded_file( использовать эту минимальную строку кода
[110]FILES["documents"]["tmp_name"],"upload/" . использовать эту минимальную строку кода
[110]FILES["documents"]["name"]);
$documents= использовать эту минимальную строку кода
[110]FILES["documents"]["name"];
}
}
}
mysql_query("insert into medical (emp_id, name, title, department,leavetype, startdate, enddate, comments,status, user) values('$emp_id', '$name','$title', '$department', '$leavetype', '$startdate', '$enddate', '$comments','$status', '$user')") or die(mysql_error());
header('Location:index.php');
?>