In [32]:
import numpy as np
a = np.array([])
a
Out[32]:
array([], dtype=float64)
In [38]:
dt = np.dtype(np.int32)
dt.__repr__()
Out[38]:
"dtype('int32')"
In [39]:
# int8, int16, int32, int64 可以使用字符串 'i1', 'i2', 'i4', 'i8' 代替
for tp in ['i1', 'i2', 'i4', 'i8']:
print(np.dtype(tp))
int8 int16 int32 int64
In [40]:
dt = np.dtype('<i4') # 小端
dt
Out[40]:
dtype('int32')
In [47]:
age_dt = np.dtype([('age', np.int8)])
age_dt
Out[47]:
dtype([('age', 'i1')])
In [48]:
# 将数据类型应用于 ndarray 对象
import numpy as np
dt = np.dtype([('age',np.int8)])
a = np.array([(10,),(20,),(30,)], dtype = age_dt)
a
Out[48]:
array([(10,), (20,), (30,)], dtype=[('age', 'i1')])
In [51]:
import numpy as np
student = np.dtype([('name','S20'), ('age', 'i1'), ('marks', 'f4')])
student
Out[51]:
dtype([('name', 'S20'), ('age', 'i1'), ('marks', '<f4')])
| 字符 | 对应类型 |
|---|---|
| b | 布尔型 |
| i | (有符号) 整型 |
| u | 无符号整型 integer |
| f | 浮点型 |
| c | 复数浮点型 |
| m | timedelta(时间间隔) |
| M | datetime(日期时间) |
| O | (Python) 对象 |
| S, a | (byte-)字符串 |
| U | Unicode |
| V | 原始数据 (void) |
In [52]:
import numpy as np
student = np.dtype([('name','S20'), ('age', 'i1'), ('marks', 'f4')])
a = np.array([('abc', 21, 50),('xyz', 18, 75)], dtype = student)
a
Out[52]:
array([(b'abc', 21, 50.), (b'xyz', 18, 75.)],
dtype=[('name', 'S20'), ('age', 'i1'), ('marks', '<f4')])
In [1]:
import numpy as np
student = np.dtype([('name','U20'), ('age', 'i1'), ('marks', 'f4')])
a = np.array([('abc', 21, 50),('xyz', 18, 75)], dtype = student)
a
Out[1]:
array([('abc', 21, 50.), ('xyz', 18, 75.)],
dtype=[('name', '<U20'), ('age', 'i1'), ('marks', '<f4')])
In [2]:
print ('包含从数组中删除的替代值的切片:')
a = np.array([1,2,3,4,5,6,7,8,9,10])
print (np.delete(a, np.s_[::2]))
包含从数组中删除的替代值的切片: [ 2 4 6 8 10]
In [3]:
np.lookfor('s_')
Search results for 's_'
-----------------------
numpy.is_busday
Calculates which of the given dates are valid days, and which are not.
numpy.less_equal
Return the truth value of (x1 =< x2) element-wise.
numpy.str0
str(bytes_or_buffer[, encoding[, errors]]) -> str
numpy.issubclass_
Determine if a class is a subclass of a second class.
numpy.bytes0
bytes(iterable_of_ints) -> bytes
numpy.shares_memory
Determine if two arrays share memory.
numpy.result_type
result_type(*arrays_and_dtypes)
numpy.datetime_as_string
Convert an array of datetimes into an array of strings.
numpy.char.less_equal
Return (x1 <= x2) element-wise.
numpy.ma.less_equal
Return the truth value of (x1 =< x2) element-wise.
numpy.ma.compress_cols
Suppress whole columns of a 2-D array that contain masked values.
numpy.ma.compress_rows
Suppress whole rows of a 2-D array that contain masked values.
numpy.compat.is_pathlib_path
Check whether obj is a pathlib.Path object.
numpy.double.as_integer_ratio
Return a pair of integers, whose ratio is exactly equal to the original
numpy.float16.as_integer_ratio
Return a pair of integers, whose ratio is exactly equal to the original
numpy.float32.as_integer_ratio
Return a pair of integers, whose ratio is exactly equal to the original
numpy.longdouble.as_integer_ratio
Return a pair of integers, whose ratio is exactly equal to the original
numpy.testing.assert_raises_regex
assert_raises_regex(exception_class, expected_regexp, callable, *args,
numpy.core._internal._getfield_is_safe
Checks safety of getfield for object arrays.
numpy.core._multiarray_umath.is_busday
Calculates which of the given dates are valid days, and which are not.
numpy.core._multiarray_umath._ones_like
This function used to be the numpy.ones_like, but now a specific
numpy.AxisError.__class__.__subclasses__
__subclasses__() -> list of immediate subclasses
numpy.core._multiarray_umath.shares_memory
Determine if two arrays share memory.
numpy.core._multiarray_umath.correlate
numpy.core._internal._ctypes.strides_as
Return the strides tuple as an array of some other
numpy.npv
Returns the NPV (Net Present Value) of a cash flow series.
numpy.ones_like
Return an array of ones with the same shape and type as a given array.
numpy.pad
Pad an array.
numpy.core._multiarray_umath.result_type
result_type(*arrays_and_dtypes)
numpy.less
Return the truth value of (x1 < x2) element-wise.
numpy.ones
Return a new array of given shape and type, filled with ones.
numpy.take
Take elements from an array along an axis.
numpy.zeros_like
Return an array of zeros with the same shape and type as a given array.
numpy.array
Create an array.
numpy.core._multiarray_umath.datetime_as_string
Convert an array of datetimes into an array of strings.
numpy.equal
Return (x1 == x2) element-wise.
numpy.split
Split an array into multiple sub-arrays as views into `ary`.
numpy.zeros
Return a new array of given shape and type, filled with zeros.
numpy.delete
Return a new array with sub-arrays along an axis deleted. For a one
numpy.core._internal._ctypes.data_as
Return the data pointer cast to a particular c-types object.
numpy.median
Compute the median along the specified axis.
numpy.nansum
Return the sum of array elements over a given axis treating Not a
numpy.nditer
Efficient multi-dimensional iterator object to iterate over arrays.
numpy.core._multiarray_umath.normalize_axis_index
Normalizes an axis index, `axis`, such that is a valid positive index into
numpy.greater
Return the truth value of (x1 > x2) element-wise.
numpy.quantile
Compute the q-th quantile of the data along the specified axis.
numpy.array_str
Return a string representation of the data in an array.
numpy.full_like
Return a full array with the same shape and type as a given array.
numpy.not_equal
Return (x1 != x2) element-wise.
numpy.ma.is_mask
Return True if m is a valid, standard mask.
numpy.array_repr
Return the string representation of an array.
numpy.empty_like
Return a new array with the same shape and type as a given array.
numpy.issubdtype
Returns True if first argument is a typecode lower/equal in type hierarchy.
numpy.percentile
Compute the q-th percentile of the data along the specified axis.
numpy.array_split
Split an array into multiple sub-arrays.
numpy.binary_repr
Return the binary representation of the input number as a string.
numpy.bitwise_not
Compute bit-wise inversion, or bit-wise NOT, element-wise.
numpy.nanquantile
Compute the qth quantile of the data along the specified axis,
numpy.show_config
Show libraries in the system on which NumPy was built.
numpy.triu_indices_from
Return the indices for the upper-triangle of arr.
numpy.ma.is_masked
Determine whether input has masked values.
numpy.array2string
Return a string representation of an array.
numpy.busday_count
Counts the number of valid days between `begindates` and
numpy.diag_indices
Return the indices to access the main diagonal of an array.
numpy.char.less
Return (x1 < x2) element-wise.
numpy.ma.less
Return the truth value of (x1 < x2) element-wise.
numpy.busday_offset
First adjusts the date to fall on a valid day according to
numpy.ma.ones
Return a new array of given shape and type, filled with ones.
numpy.distutils.system_info.BlasSrcNotFoundError
Blas (http://www.netlib.org/blas/) sources not found.
numpy.fill_diagonal
Fill the main diagonal of the given array of any dimensionality.
numpy.greater_equal
Return the truth value of (x1 >= x2) element-wise.
numpy.nanpercentile
Compute the qth percentile of the data along the specified axis,
numpy.char.equal
Return (x1 == x2) element-wise.
numpy.ma.compress_nd
Suppress slices from multiple dimensions which contain masked values.
numpy.ma.equal
Return (x1 == x2) element-wise.
numpy.busdaycalendar
A business day calendar object that efficiently stores information
numpy.ma.zeros
Return a new array of given shape and type, filled with zeros.
numpy.put_along_axis
Put values into the destination array by matching 1d index and data slices.
numpy.distutils.system_info.BlasILP64NotFoundError
64-bit Blas libraries not found.
numpy.char.greater
Return (x1 > x2) element-wise.
numpy.take_along_axis
Take values from the input array by matching 1d index and data slices.
numpy.apply_along_axis
Apply a function to 1-D slices along the given axis.
numpy.ma.greater
Return the truth value of (x1 > x2) element-wise.
numpy.may_share_memory
Determine if two arrays might share memory
numpy.distutils.system_info.LapackILP64NotFoundError
64-bit Lapack libraries not found.
numpy.char.not_equal
Return (x1 != x2) element-wise.
numpy.ma.not_equal
Return (x1 != x2) element-wise.
numpy.ma.compress_rowcols
Suppress the rows and/or columns of a 2-D array that contain
numpy.ma.empty_like
empty_like(prototype, dtype=None, order='K', subok=True, shape=None)
numpy.histogram_bin_edges
Function to calculate only the edges of the bins used by the `histogram`
numpy.chararray.__le__
Return (self <= other) element-wise.
numpy.ma.masked_less_equal
Mask an array where less than or equal to a given value.
numpy.testing.raises
Decorator to check for raised exceptions.
numpy.ma.masked_where
Mask an array where a condition is met.
numpy.char.greater_equal
Return (x1 >= x2) element-wise.
numpy.ma.greater_equal
Return the truth value of (x1 >= x2) element-wise.
numpy.dtype.newbyteorder
Return a new dtype with a different byte order.
numpy.ma.notmasked_edges
Find the indices of the first and last unmasked values along an axis.
numpy.ma.apply_along_axis
Apply a function to 1-D slices along the given axis.
numpy.core._dtype._is_packed
Checks whether the structured data type in 'dtype'
numpy.testing.suppress_warnings
Context manager and decorator doing much the same as
numpy.ma.notmasked_contiguous
Find contiguous unmasked data in a masked array along the given axis.
numpy.distutils.command.bdist_rpm.bdist_rpm.debug_print
Print 'msg' to stdout if the global DEBUG (taken from the
numpy.lib._iotools.easy_dtype
Convenience function to create a `np.dtype` object.
numpy.distutils.__config__.show
Show libraries in the system on which NumPy was built.
numpy.lib._iotools.has_nested_fields
Returns whether one or several fields of a dtype are nested.
numpy.lib.recfunctions.get_names_flat
Returns the field names of the input datatype as a tuple. Nested structure
numpy.polynomial.polyutils.as_series
Return argument as a list of 1-d arrays.
numpy.random.Generator.uniform
Draw samples from a uniform distribution.
numpy.distutils.fcompiler.FCompiler
Abstract base class to define the interface that must be implemented
numpy.random.RandomState.uniform
Draw samples from a uniform distribution.
numpy.core.tests.test_function_base.PhysicalQuantity.as_integer_ratio
Return a pair of integers, whose ratio is exactly equal to the original
numpy.random.Generator.standard_t
Draw samples from a standard Student's t distribution with `df` degrees
numpy.random.RandomState.get_state
get_state()
numpy.random.RandomState.set_state
set_state(state)
numpy.lib.tests.test__iotools.TestMiscFunctions.test_has_nested_dtype
Test has_nested_dtype
numpy.random.RandomState.standard_t
Draw samples from a standard Student's t distribution with `df` degrees
numpy.core._multiarray_umath.empty_like
Return a new array with the same shape and type as a given array.
numpy.core._multiarray_umath.busday_count
Counts the number of valid days between `begindates` and
numpy.core._multiarray_umath.busday_offset
First adjusts the date to fall on a valid day according to
numpy.core.overrides.array_function_dispatch
Decorator for adding dispatch with the __array_function__ protocol.
numpy.distutils.fcompiler.g95.G95FCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.gnu.GnuFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.ibm.IBMFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.nag.NAGFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.sun.SunFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.gnu.Gnu95FCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.hpux.HPUXFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.mips.MIPSFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.nag.NAGFORCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.none.NoneFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.pg.PGroupFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.vast.VastFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.intel.IntelFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.lahey.LaheyFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.nag.BaseNAGFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.absoft.AbsoftFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.compaq.CompaqFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.pg.PGroupFlangCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.intel.BaseIntelFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.intel.IntelEM64TFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.misc_util.Configuration.set_options
Configure Configuration instance.
numpy.distutils.fcompiler.intel.IntelVisualFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.pathf95.PathScaleFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.intel.IntelItaniumFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.compaq.CompaqVisualFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.intel.IntelEM64VisualFCompiler
Abstract base class to define the interface that must be implemented
numpy.distutils.fcompiler.intel.IntelItaniumVisualFCompiler
Abstract base class to define the interface that must be implemented
In [12]:
import numpy as np
print ('13 和 17 的二进制形式:')
a,b = 13,17
print (bin(a), bin(b))
print ('\n')
print ('13 和 17 的位与:')
print (np.bitwise_and(13, 17))
np.bitwise_not(13)
13 和 17 的二进制形式: 0b1101 0b10001 13 和 17 的位与: 1
Out[12]:
-14
In [17]:
import numpy as np
print ('13 的位反转,其中 ndarray 的 dtype 是 uint8:')
print (np.bitwise_not(np.array([13], dtype = np.uint8)))
# 比较 13 和 242 的二进制表示,我们发现了位的反转
print ()
print ('13 的二进制表示:')
print (np.binary_repr(13, width = 8))
print ()
print ('242 的二进制表示:')
print (np.binary_repr(242, width = 8))
13 的位反转,其中 ndarray 的 dtype 是 uint8: [242] 13 的二进制表示: 00001101 242 的二进制表示: 11110010
In [23]:
import numpy as np
print ('将 10 左移两位:')
print (np.left_shift(10,2))
print ('\n')
print ('10 的二进制表示:')
print (np.binary_repr(10, width = 8))
print ('\n')
print ('40 的二进制表示:')
print (np.binary_repr(40, width = 8))
# '00001010' 中的两位移动到了左边,并在右边添加了两个 0。
将 10 左移两位: 40 10 的二进制表示: 00001010 40 的二进制表示: 00101000
In [29]:
import numpy as np
print(np.char.add('HEllo', ' LDS'))
print(np.char.add(['HEllo'], [' LDS']))
print ('连接示例:')
print (np.char.add(['hello', 'hi'],[' abc', ' xyz']))
HEllo LDS ['HEllo LDS'] 连接示例: ['hello abc' 'hi xyz']
In [30]:
import numpy as np
print (np.char.multiply('Runoob ',3))
Runoob Runoob Runoob
In [31]:
np.char.center("lds", 10, "^")
Out[31]:
array('^^^lds^^^^', dtype='<U10')
In [36]:
import numpy as np
print (np.char.capitalize(['runoob', 'lds', 'i like runoob']))
['Runoob' 'Lds' 'I like runoob']
In [35]:
import numpy as np
print (np.char.title(['runoob', 'lds', 'i like runoob']))
['Runoob' 'Lds' 'I Like Runoob']
In [40]:
import numpy as np
# 换行符 \n
print (np.char.splitlines('i\nlike runoob?').__repr__())
print(np.char.splitlines('i\rlike 神探?').__repr__())
array(list(['i', 'like runoob?']), dtype=object) array(list(['i', 'like 神探?']), dtype=object)
In [44]:
import numpy as np
# 操作字符串
print(np.char.join(':', 'runoob'))
# 指定多个分隔符操作数组元素
print(np.char.join([':', '-'], [['runoob', 'lds'], 'google']))
r:u:n:o:o:b ['runoob:lds' 'g-o-o-g-l-e']
In [47]:
import numpy as np
a = np.char.encode('runoob 小梁', 'GBK')
print(a)
print(np.char.decode(a, 'GBK'))
b'runoob \xd0\xa1\xc1\xba' runoob 小梁
In [48]:
import numpy as np
a = np.array([0, 30, 45, 60, 90])
print('不同角度的正弦值:')
# 通过乘 pi/180 转化为弧度
print(np.sin(a*np.pi/180))
print('\n')
print('数组中角度的余弦值:')
print(np.cos(a*np.pi/180))
print('\n')
print('数组中角度的正切值:')
print(np.tan(a*np.pi/180))
不同角度的正弦值: [0. 0.5 0.70710678 0.8660254 1. ] 数组中角度的余弦值: [1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01 6.12323400e-17] 数组中角度的正切值: [0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+00 1.63312394e+16]
In [50]:
import numpy as np
a = np.array([1.0,5.35, 123, 0.567, 25.532])
print ('原数组:')
print (a)
print ('\n')
print ('舍入后:')
print (np.around(a))
print (np.around(a, decimals = 1))
print (np.around(a, decimals = -1))
原数组: [ 1. 5.35 123. 0.567 25.532] 舍入后: [ 1. 5. 123. 1. 26.] [ 1. 5.4 123. 0.6 25.5] [ 0. 10. 120. 0. 30.]
In [57]:
import numpy as np
a = np.array([[10, 7, 4], [3, 2, 1]])
print ('我们的数组是:')
print (a)
print ('调用 percentile() 函数:')
# 50% 的分位数,就是 a 里排序之后的中位数
print (np.percentile(a, 70))
# axis 为 0,在纵列上求
print (np.percentile(a, 70, axis=0))
# axis 为 1,在横行上求
print (np.percentile(a, 70, axis=1))
# 保持维度不变
print (np.percentile(a, 70, axis=1, keepdims=True))
我们的数组是: [[10 7 4] [ 3 2 1]] 调用 percentile() 函数: 5.5 [7.9 5.5 3.1] [8.2 2.4] [[8.2] [2.4]]
In [55]:
3 + 7 * 0.7
Out[55]:
7.8999999999999995
In [59]:
import numpy as np
a = np.array([1, 2, 3, 4])
print('我们的数组是:')
print(a)
print('\n')
print('调用 average() 函数:')
print(np.average(a))
print('\n')
# 不指定权重时相当于 mean 函数
wts = np.array([4, 3, 2, 1])
print("权重:", wts)
print('再次调用 average() 函数:')
print(np.average(a, weights=wts))
print('\n')
# 如果 returned 参数设为 true,则返回权重的和
print('权重的和:')
print(np.average([1, 2, 3, 4], weights=[4, 3, 2, 1], returned=True))
我们的数组是: [1 2 3 4] 调用 average() 函数: 2.5 权重: [4 3 2 1] 再次调用 average() 函数: 2.0 权重的和: (2.0, 10.0)
In [66]:
import numpy as np
a = np.array([[3, 7], [9, 1]])
print(a)
print('列排序', np.sort(a, kind='mergesort', axis=0))
print('行排序', np.sort(a, axis=1, kind="mergesort"))
[[3 7] [9 1]] 列排序 [[3 1] [9 7]] 行排序 [[3 7] [1 9]]
In [78]:
import numpy as np
x = np.arange(9.).reshape(3, 3)
print ('我们的数组是:')
print (x)
print ( '大于 3 的元素的索引:')
y = np.where(x > 3)
print (y)
print ('使用这些索引来获取满足条件的元素:')
print (x[y])
我们的数组是: [[0. 1. 2.] [3. 4. 5.] [6. 7. 8.]] 大于 3 的元素的索引: (array([1, 1, 2, 2, 2], dtype=int64), array([1, 2, 0, 1, 2], dtype=int64)) 使用这些索引来获取满足条件的元素: [4. 5. 6. 7. 8.]
In [84]:
import numpy as np
a = np.array([1, 256, 8755], dtype = np.int16)
print ('我们的数组是:')
print (a)
print ('以十六进制表示内存中的数据:')
print (list(map(hex,a)))
# byteswap() 函数通过传入 true 来原地交换
print ('调用 byteswap() 函数:')
print (a.byteswap(True))
print ('十六进制形式:')
print (list(map(hex,a)))
# 我们可以看到字节已经交换了
我们的数组是: [ 1 256 8755] 以十六进制表示内存中的数据: ['0x1', '0x100', '0x2233'] 调用 byteswap() 函数: [ 256 1 13090] 十六进制形式: ['0x100', '0x1', '0x3322']
In [86]:
import numpy as np
a = np.arange(20).reshape(4, 5)
print("原数组:", a)
print("", a[2])
Out[86]:
array([10, 11, 12, 13, 14])
In [91]:
from numpy import matlib
import numpy as np
print(np.empty((2, 2)).__repr__())
matlib.empty((2, 2))
array([[8.60334707e-315, 1.14408606e-311],
[8.60334801e-315, 8.60334675e-315]])
Out[91]:
matrix([[8.60334707e-315, 1.14408606e-311],
[8.60334801e-315, 8.60334675e-315]])
In [94]:
np.random.rand(3,3)
Out[94]:
array([[0.39886458, 0.59226958, 0.76513372],
[0.60592693, 0.16650084, 0.14563618],
[0.27846519, 0.29259619, 0.08026506]])
In [95]:
matlib.rand(3,3)
Out[95]:
matrix([[0.11958196, 0.12247145, 0.8801389 ],
[0.49741205, 0.00559036, 0.03021468],
[0.54922254, 0.42660782, 0.70803244]])
In [100]:
np.matrix("1,2;3,4")
Out[100]:
matrix([[1, 2],
[3, 4]])
In [102]:
np.asarray(np.asmatrix("1,2;3,4"))
Out[102]:
array([[1, 2],
[3, 4]])
In [112]:
import numpy as np
a = np.array([[1,2],[3,4]])
b = np.array([[11,12],[13,14]])
# 点积
a * b
Out[112]:
array([[11, 24],
[39, 56]])
In [113]:
# 矩阵积
a @ b
Out[113]:
array([[37, 40],
[85, 92]])
In [106]:
np.matmul(a, b)
Out[106]:
array([[37, 40],
[85, 92]])
In [110]:
np.dot(a, b)
Out[110]:
array([[37, 40],
[85, 92]])
In [109]:
import numpy as np
a = np.array([[1,2],[3,4]])
b = np.array([[11,12],[13,14]])
# vdot 将数组展开计算内积
np.vdot(a,b)
Out[109]:
130
In [114]:
np.inner(a, b)
Out[114]:
array([[35, 41],
[81, 95]])
In [117]:
import numpy.matlib
import numpy as np
a = [[1,0],[0,1]]
b = [1,2]
print (np.matmul(a,b).__repr__())
print (np.matmul(b,a).__repr__())
array([1, 2]) array([1, 2])
In [124]:
a = [[1,2],[3,4]]
b = [1,2]
np.matmul(a, b)
Out[124]:
array([ 5, 11])
In [125]:
a = [[1,2],[3,4]]
b = [[1],[2]]
np.matmul(a, b)
Out[125]:
array([[ 5],
[11]])
In [156]:
np.random.rand(2).shape
Out[156]:
(2,)
In [159]:
a = [[1,2],[3,4]]
b = [[1],[2]]
a = np.squeeze(np.matmul(a, b), 1)
a
Out[159]:
array([ 5, 11])
In [148]:
print(a.shape)
a = np.expand_dims(a, 1)
print(a)
a.shape
(2,) [[ 5] [11]]
Out[148]:
(2, 1)
In [187]:
Out[187]:
'lds'
In [ ]: