diff --git a/API.md b/API.md index 4009060..55ca6c2 100644 --- a/API.md +++ b/API.md @@ -1750,7 +1750,7 @@ mat = np.eye(N=3) # int|矩阵的行数. ## 8.21.hstack() -按照水平顺序合并数组.|`numpy.ndarray` +按照行合并数组.|`numpy.ndarray` ```python import numpy as np @@ -1760,13 +1760,29 @@ arr1 = [[3], [3]] x = np.hstack(tup=[arr0, arr1]) # array-like|数组序列. ``` -## 8.22.linalg +## 8.22.lexsort() + +根据指定键(列)进行排序.|`numpy.ndarray` + +```python +import numpy as np + +arr = np.asarray([[1, 0.4], + [3, 0.2], + [2, 0.1], + [4, 0.3]]) +indices = np.lexsort(keys=[arr[:, 0], ]) + +x = arr[indices] +``` + +## 8.23.linalg | 版本 | 描述 | 注意 | | ---- | ------------------ | ---- | | - | numpy的线性代数库. | - | -### 8.22.1.inv() +### 8.23.1.inv() 获取矩阵的逆矩阵.|`numpy.ndarray` @@ -1778,7 +1794,7 @@ mat = [[1, 2], x = np.linalg.inv(a=mat) # array_like|输入的矩阵. ``` -### 8.22.2.norm() +### 8.23.2.norm() 计算矩阵或向量范数.|`numpy.float64` @@ -1791,7 +1807,7 @@ x = np.linalg.norm(x=arr, # array_like|输入的数据. ord=2) # {non-zero int, inf, -inf, 'fro', 'nuc'}(可选)|None|范数选项. ``` -### 8.22.3.svd() +### 8.23.3.svd() 奇异值分解.|`tuple of numpy.ndarray` @@ -1803,7 +1819,7 @@ arr = [[1, 2], u, s, vh = np.linalg.svd(a=arr) # array_like|输入的数据. ``` -## 8.23.linspace() +## 8.24.linspace() 返回指定间隔内的等差数列.|`numpy.ndarray` @@ -1815,7 +1831,7 @@ x = np.linspace(start=1, # array_like|起始值. num=10) # int(可选)|50|生成序列的样本的总数. ``` -## 8.24.load() +## 8.25.load() 从npy、npz或者序列化文件加载数组或序列化的对象.|`numpy.ndarray` @@ -1827,7 +1843,7 @@ arr = np.load(file='./arr.npy', # file-like object, string, or pathlib.Path|读 encoding='ASCII') # str(可选)|'ASCII'|解码方式. ``` -## 8.25.log() +## 8.26.log() 逐元素计算自然对数.|`numpy.ndarray` @@ -1838,7 +1854,7 @@ arr = [1, 2, 3] x = np.log(arr) # array_like|输入的数据. ``` -## 8.26.log1p() +## 8.27.log1p() 逐元素计算本身加1的自然对数.|`numpy.ndarray` @@ -1849,7 +1865,7 @@ arr = [1, 2, 3] x = np.log1p(arr) # array_like|输入的数据. ``` -## 8.27.log2() +## 8.28.log2() 逐元素计算以2为底对数.|`numpy.ndarray` @@ -1860,7 +1876,7 @@ arr = [1, 2, 3] x = np.log2(arr) # array_like|输入的数据. ``` -## 8.28.mat() +## 8.29.mat() 将输入转换为矩阵.|`numpy.matrix` @@ -1872,7 +1888,7 @@ mat = np.mat(data=arr, # array_like|输入的数据. dtype=None) # data-type|None|矩阵元素的数据类型. ``` -## 8.29.matmul() +## 8.30.matmul() 两个数组的矩阵乘积|`numpy.ndarray` @@ -1885,7 +1901,7 @@ x = np.matmul(arr0, # array_like|第一个元素. arr1) # array_like|第二个元素. ``` -## 8.30.max() +## 8.31.max() 返回沿指定维度的最大值.|`numpy.float64` @@ -1897,7 +1913,7 @@ max_value = np.max(a=arr, # array_like|输入的数据. axis=None) # int(可选)|None|所沿的维度. ``` -## 8.31.maximum() +## 8.32.maximum() 返回数组逐元素的最大值.|`numpy.ndarray` @@ -1909,7 +1925,7 @@ arr1 = [1, 5, 2] x = np.maximum(arr0, arr1) # array_like|输入的数据. ``` -## 8.32.mean() +## 8.33.mean() 沿指定维度计算均值.|`numpy.float64` @@ -1921,7 +1937,7 @@ x = np.mean(a=arr, # array_like|输入的数据. axis=None) # int(可选)|None|所沿的维度. ``` -## 8.33.meshgrid() +## 8.34.meshgrid() 生成坐标矩阵.|`list of numpy.ndarray` @@ -1933,7 +1949,7 @@ y_coord = np.linspace(0, 4, 5) vec_mat = np.meshgrid(x_coord, y_coord) # array_like|坐标向量. ``` -## 8.34.nonzero() +## 8.35.nonzero() 返回非零元素索引.|`tuple_of_arrays` @@ -1944,7 +1960,7 @@ arr = np.asarray([1, 2, 3, 4, 0, 0, 5]) x = np.nonzero(a=arr) # array_like|输入的数据. ``` -## 8.35.ones() +## 8.36.ones() 生成全一数组.|`numpy.ndarray` @@ -1955,7 +1971,7 @@ x = np.ones(shape=[2, 3], # int or sequence of ints|数组的形状. dtype=np.int8) # data-type(可选)|numpy.float64|矩阵元素的数据类型. ``` -## 8.36.power() +## 8.37.power() 逐元素计算指定幂次.|`numpy.ndarray` @@ -1965,13 +1981,13 @@ import numpy as np x = np.power([1, 2], [1, 3]) # array_like|底数和指数. ``` -## 8.37.random +## 8.38.random | 版本 | 描述 | 注意 | | ---- | ------------------------ | ---- | | - | numpy的随机数生成函数库. | - | -### 8.37.1.choice() +### 8.38.1.choice() 从给定的1D数组中随机采样.|`numpy.ndarray` @@ -1983,7 +1999,7 @@ num = np.random.choice(a=arr, # 1-D array-like or int|输入的数组. size=1) # int or tuple of ints(可选)|None|采样结果形状. ``` -### 8.37.2.multinomial() +### 8.38.2.multinomial() 从多项分布中抽取样本.|`numpy.ndarray` @@ -1995,7 +2011,7 @@ x = np.random.multinomial(n=1, # int|实验次数. size=1) # int or tuple of ints(可选)|None|数组的形状. ``` -### 8.37.3.normal() +### 8.38.3.normal() 生成正态分布样本.|`numpy.ndarray` @@ -2005,7 +2021,7 @@ import numpy as np x = np.random.normal(size=[2, 3]) # int or tuple of ints(可选)|None|数组的形状. ``` -### 8.37.4.permutation() +### 8.38.4.permutation() 随机打乱序列.|`numpy.ndarray` @@ -2016,7 +2032,7 @@ arr = [1, 2, 3, 4] x = np.random.permutation(arr) # array_like|输入的数据. ``` -### 8.37.5.rand() +### 8.38.5.rand() 生成随机数组.|`numpy.ndarray` @@ -2026,7 +2042,7 @@ import numpy as np x = np.random.rand(2, 3) # int(可选)|None|数组的形状. ``` -### 8.37.6.randint() +### 8.38.6.randint() 返回指定区间[low, high)随机整数.|`int` @@ -2037,7 +2053,7 @@ x = np.random.randint(low=1, # int or array-like of ints|左边界. high=10) # int or array-like of ints(可选)|None|右边界. ``` -### 8.37.7.randn() +### 8.38.7.randn() 生成正态分布随机数组.|`numpy.ndarray` @@ -2047,7 +2063,7 @@ import numpy as np x = np.random.randn(2, 3) # int(可选)|None|数组的形状. ``` -### 8.37.8.RandomState() +### 8.38.8.RandomState() 实例化伪随机数生成器.|`numpy.random.mtrand.RandomState` @@ -2057,7 +2073,7 @@ import numpy as np rs = np.random.RandomState(seed=2021) # None|随机种子. ``` -#### 8.37.8.1.shuffle() +#### 8.38.8.1.shuffle() 打乱数据.|`numpy.ndarray` @@ -2069,7 +2085,7 @@ x = np.asarray([1, 2, 3, 4]) rs.shuffle(x) ``` -### 8.37.9.seed() +### 8.38.9.seed() 设置随机种子. @@ -2079,7 +2095,7 @@ import numpy as np np.random.seed(seed=2021) # None|随机种子. ``` -## 8.38.ravel() +## 8.39.ravel() 展平数组.|`numpy.ndarray` @@ -2090,7 +2106,7 @@ x = np.asarray([[1, 2], [3, 4]]) x = np.ravel(a=x) # array_like|输入的数据. ``` -## 8.39.reshape() +## 8.40.reshape() 改变数组的形状.|`numpy.ndarray` @@ -2102,7 +2118,7 @@ x = np.reshape(a=arr, # array_like|要改变形状的数组. newshape=[2, 2]) # int or tuple of ints|新的形状. ``` -## 8.40.save() +## 8.41.save() 将数组保存进二进制的npy文件. @@ -2115,7 +2131,7 @@ np.save(file='arr.npy', # file, str, or pathlib.Path|文件保存的路径. allow_pickle=True) # |bool(可选)|True|允许使用序列化保存数组. ``` -## 8.41.sort() +## 8.42.sort() 返回排序(升序)后的数组.|`numpy.ndarray` @@ -2126,7 +2142,7 @@ arr = [1, 3, 2, 4] x = np.sort(a=arr) # array_like|要排序的数组. ``` -## 8.42.split() +## 8.43.split() 拆分数组.|`list of ndarrays` @@ -2139,7 +2155,7 @@ arr_list = np.split(ary=arr, # numpy.ndarray|要拆分的数组. axis=1) # int(可选)|0|所沿的维度. ``` -## 8.43.sqrt() +## 8.44.sqrt() 逐元素计算平方根.|`numpy.ndarray` @@ -2150,7 +2166,7 @@ arr = [1, 2, 3] x = np.sqrt(arr) # array_like|输入的数据. ``` -## 8.44.squeeze() +## 8.45.squeeze() 删除维度为一的维度.|`numpy.ndarray` @@ -2161,7 +2177,7 @@ arr = [[1, 2, 3]] x = np.squeeze(arr) # array_like|输入的数据. ``` -## 8.45.std() +## 8.46.std() 沿指定维度计算标准差.|`numpy.float64` @@ -2173,7 +2189,7 @@ std_value = np.std(a=arr, # array_like|输入的数据. axis=None) # None or int or tuple of ints(可选)|None|所沿的维度. ``` -## 8.46.sum() +## 8.47.sum() 沿指定维度求和.|`numpy.ndarray` @@ -2185,7 +2201,7 @@ sum_value = np.sum(a=arr, # array_like|输入的数据. axis=None) # None or int or tuple of ints(可选)|None|所沿的维度. ``` -## 8.47.transpose() +## 8.48.transpose() 转置数组.|`numpy.ndarray` @@ -2201,7 +2217,7 @@ x0 = np.transpose(a=arr, # 输入的数组|array-like x1 = arr.T ``` -## 8.48.var() +## 8.49.var() 沿指定维度计算方差.|`numpy.float64` @@ -2213,7 +2229,7 @@ var_value = np.var(a=arr, # array_like|输入的数据. axis=None) # None or int or tuple of ints(可选)|None|所沿的维度. ``` -## 8.49.void() +## 8.50.void() 实例化`numpy.void`对象. @@ -2223,7 +2239,19 @@ import numpy as np x = np.void(b'abc') # bytes|输入的数据. ``` -## 8.50.where() +## 8.51.vstack() + +按照列合并数组.|`numpy.ndarray` + +```python +import numpy as np + +arr0 = [[1, 2]] +arr1 = [[3, 4]] +x = np.vstack(tup=[arr0, arr1]) # array-like|数组序列. +``` + +## 8.52.where() 根据判断条件, 真值返回`x`, 假值返回`y`.|`numpy.ndarray` @@ -2237,7 +2265,7 @@ arr = np.where(a > b, # array_like, bool|判断条件. False) # array_like|None|情况为假的返回值. ``` -## 8.51.zeros() +## 8.53.zeros() 生成全零数组.|`numpy.ndarray` @@ -2527,7 +2555,7 @@ sr = pd.Series(['a', 'b', 'c', 'a']) coding = pd.get_dummies(data=sr) # array-like, Series, or DataFrame|输入的数据. ``` -## 9.5.group_by() +## 9.5.groupby() 按照列对DataFrame进行分组.|`pandas.core.groupby.generic.DataFrameGroupBy`