1 X_outliers=np.array([[3.4, 1.3], [3.2, 0.8]])2 y_outliers=np.array([0, 0])3

4 Xo1=np.concatenate([X, X_outliers[:1]], axis=0)5 yo1=np.concatenate([y, y_outliers[:1]], axis=0)6 Xo2=np.concatenate([X, X_outliers[1:]], axis=0)7 yo2=np.concatenate([y, y_outliers[1:]], axis=0)

numpy里面的concatenate的涵义是合并矩阵;axis=0代表是添加一行,axis=1则代表添加一列。以此为例:

pprint(X)显示为:

u'X:'

array([[1.4, 0.2],

[1.4, 0.2],

...

[5.1, 1.8]])

pprint(Xo1)显示为:

u'Xo1:'

array([[1.4, 0.2],

[1.4, 0.2],

...

[5.1, 1.8],

[3.4, 1.3]])

这其实就是行添加了一行。

原生数组和reshape之后数组

X_test = np.linspace(1,5,5)

pprint (X_test)

X_tmp = X_test.reshape(-1, 1)

pprint(X_tmp)

输出:

array([1., 2., 3., 4., 5.])

array([[1.], [2.], [3.], [4.], [5.]])

python数组常见操作:

Python原生是没有数组的,[]这种类型在python里面叫List;二维数组可以通过lsti[i][i]来进行索引(array是通过[i, j]来进行索引),支持通过":"来进行范围索引,但是像前面描述的,只是支持一个维度的索引,例如[:5][1:](对于array而言可以通过[:,:]来进行索引)。

如果是数组的话,还是使用numpy里面的array;

numpy里面提供的是array以及可以通过[x1:x2,y1:y2]模式来索引矩阵形式;同时可以通过array.shape方式来获取矩阵的行数/列数;同时可以通过reshape来进行行列重置;可以通过.T来进行“转置”。

matrix是numpy的array的一个子集,同样支持“:”模式的索引,以及shape[i]获取行、列的数量;但是只支持矩阵形式:二维数组形式。

matrix和numpy的乘法(*)模式不同,matrix是乘数的行*被乘数的列这种模式;array则是同位数的相乘。

互转:

list转array:np.array(list)

list转matrix:np.mat(list)

array转list:data.toList()

array和matrix互转:np.asmatrix, np.asarray

array想要采用matrix的乘法:np.dot(array1, array2)

matrix想要同位数的乘法:np.multiply(mat1, mat2)

成员

# 属性

ndarray.shape: 多維陣列的大小(形狀)

ndarray.ndim: 多維陣列的維度

ndarray.itemsize: 陣列當中元素的大小(佔幾個 byte)

ndarray.nbytes: 整個陣列所有元素的大小總計

ndarray.T: 轉置矩陣,只能在維度 <= 2 的時候使用,與 self.transpose() 效果相同

ndarray.flat: 把陣列扁平化輸出

# 格式转换

ndarray.item: 類似 List 的 Index,把 Array 扁平化取得某 Index 的 value

ndarray.tolist: 把 NumPy.ndarray 輸出成 Python 原生 List 型態

ndarray.itemset: 把 ndarray 中的某個值(純量)改掉

# 维度操作

ndarray.reshape(shape): 把同樣的資料以不同的 shape 輸出(array 的 total size 要相同)

ndarray.resize(shape): 重新定義陣列的大小

ndarray.flatten(): 把多維陣列收合成一維陣列(扁平化&Copy)

ndarray.ravel(): 回傳扁平化的陣列(無 Copy)

# 项目选择与操作

ndarray.take(indices): 根據輸入索引值來得到指定陣列

ndarray.put(indices, values): 根據索引值改變陣列 value

ndarray.repeat(times): 重複陣列的值(類似擴張)

ndarray.sort(): 把陣列當中的元素排序

ndarray.sum(): 加總多維陣列(可指定加總的維度根據)

---------------------

参考

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐