Обычно ошибка, возникающая при сбое в работе базы данных базы данных, поэтому не забудьте подключить вашу базу данных или включить файл базы данных.
include_once(db_connetc.php');
ИЛИ
// Create a connection
$connection = mysql_connect("localhost", "root", "") or die(mysql_error());
//Select database
mysql_select_db("db_name", $connection) or die(mysql_error());
$employee_query = "SELECT * FROM employee WHERE `id` ='".$_POST['id']."';
$employee_data = mysql_query($employee_query);
if (mysql_num_rows($employee_data) > 0) {
while ($row = mysql_fetch_array($employee_data)){
echo $row['emp_name'];
} // end of while loop
} // end of if
mysql_query($query_variable);
. Как указано в комментариях Divakar, просто добавьте новую ось в b
.
Я предлагаю вам больше узнать о вещании , что очень полезно для векторизации вычислений в numpy: интересно, a.transpose() - b
не вызвало бы ошибку (вам понадобится
В этом вычислении форма первого массива - (3, 5)
, а b.shape
- (5). Таким образом, форма b
соответствует хвосту формы a
, и может случиться вещание. Это не тот случай, когда форма первого массива (5, 3)
, следовательно, полученная вами ошибка.
Ниже приведены некоторые тесты времени выполнения для сравнения скоростей предлагаемых ответов с вашими значениями для a
и b
: вы можете видеть, что различия не очень значительны
In [9]: %timeit (a.T - b).T
Out[9]: 1000000 loops, best of 3: 1.32 µs per loop
In [10]: %timeit a - b[:,None]
Out[10]: 1000000 loops, best of 3: 1.25 µs per loop
In [11]: %timeit a - b[None].T
Out[11]: 1000000 loops, best of 3: 1.3 µs per loop
Вам нужно преобразовать массив b to a (2, 1) shape
, используйте None or numpy.newaxis
в кортеже индекса. Вот Индексация массива Numpy .
Вы можете сделать это. Like:
import numpy
a = numpy.array([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12],
[13, 14, 15]])
b = numpy.array([ 1, 2, 3, 4, 5])
c=a - b[:,None]
print c
Выход:
Out[2]:
array([[ 0, 1, 2],
[ 2, 3, 4],
[ 4, 5, 6],
[ 6, 7, 8],
[ 8, 9, 10]])