X Tutup
{ "cells": [ { "cell_type": "markdown", "source": [ "# 数组基础" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 35, "outputs": [], "source": [ "import numpy as np" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 36, "outputs": [], "source": [ "# 设置随机数种子\n", "np.random.seed(0);\n", "# 一维数组\n", "array1=np.array([0, 1, 2, 3, 4, 5]);\n", "# 二维数组\n", "array2=np.array([[0, 1, 2, 3, 4, 5], [10, 11, 12, 13, 14, 15]]);" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "## 数组的属性" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 37, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "array1维度: 1\n", "array2维度: 2\n", "array1每个维度大小: (6,)\n", "array2每个维度大小: (2, 6)\n", "array1数组的总大小: 6\n", "array2数组的总大小: 12\n" ] } ], "source": [ "# 数组的维度\n", "print(\"array1维度:\", array1.ndim);\n", "print(\"array2维度:\", array2.ndim);\n", "# 数组的每个维度的大小\n", "print(\"array1每个维度大小:\", array1.shape);\n", "print(\"array2每个维度大小:\", array2.shape);\n", "# 数组的总大小\n", "print(\"array1数组的总大小:\", array1.size);\n", "print(\"array2数组的总大小:\", array2.size);" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "## 数组索引:获取单个元素" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 38, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 1 2 3 4 5]\n", "1\n", "5\n" ] } ], "source": [ "print(array1);\n", "# 正数索引表示从左往右数,从0开始\n", "print(array1[1]);\n", "# 负数索引表示从右往左数\n", "print(array1[-1]);" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "## 数组切片:获取子数组" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 39, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 1 2 3 4 5]\n", "array1[0:4:2]: [0 2]\n", "array1[:3]: [0 1 2]\n", "array1[3:]: [3 4 5]\n", "array1[::2]: [0 2 4]\n" ] } ], "source": [ "print(array1);\n", "# 数组切片遵循 array[开始索引:结束索引:步长]的模式\n", "# 索引0到4之间的元素,并且每2个元素取一个\n", "print(\"array1[0:4:2]: \", array1[0:4:2]);\n", "# 前3个元素\n", "print(\"array1[:3]: \", array1[:3]);\n", "# 索引3之后的元素\n", "print(\"array1[3:]: \", array1[3:]);\n", "# 间隔一个元素\n", "print(\"array1[::2]: \", array1[::2]);" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 40, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0 1 2 3 4 5]\n", " [10 11 12 13 14 15]]\n", "array2[:2, :3]\n", "[[ 0 1 2]\n", " [10 11 12]]\n" ] } ], "source": [ "print(array2);\n", "# 两行,三列\n", "print(\"array2[:2, :3]\");\n", "print(array2[:2, :3]);" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "## 数组的拼接与分割" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 46, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1 2 3 4 5 6 7 8 9]\n" ] } ], "source": [ "# 3个数组拼接成1个数组\n", "array3=np.array([1, 2, 3]);\n", "array4=np.array([4, 5, 6]);\n", "array5=np.array([7, 8, 9]);\n", "array6=np.concatenate([array3, array4, array5]);\n", "print(array6);" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 47, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1 2 3] [4 5 6] [7 8 9]\n" ] } ], "source": [ "# 1个数组分割成3个数组\n", "array7, array8, array9 = np.split(array6, [3, 6]);\n", "print(array7, array8, array9);" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": null, "outputs": [], "source": [], "metadata": { "collapsed": false } } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }
X Tutup