精华内容
下载资源
问答
  • numpy 练习
    2022-05-12 11:48:28

    (1)使用numpy中的arange函数来创建三个包含1~10的整数的numpy数组,使三个数组的形状分别为 10∗110∗1,2∗52∗5,5∗25∗2。

    import numpy as np
    a = np.arange(1,11)
    b = np.arange(1,11)
    c = np.arange(1,11)
    a1 = a.reshape(1,10)
    b1 = a.reshape(5,2) 
    c1 = a.reshape(2,5) 
    print ("数组10*1:")
    print (a1)
    print ("数组2*5:")
    print (b1)
    print ("数组5*2:")
    print (c1)

    (2)对生成的数组做exp、exp2、sqrt、sin、log函数运算。

    print("exp() is:", "\n", "exp(a) is", "\n", np.exp(a), "\n", "exp(b) is", "\n", np.exp(b), "\n", "exp(c) is", "\n", np.exp(c))
    print("exp2() is:", "\n", "exp2(a) is", "\n", np.exp2(a), "\n", "exp2(b) is", "\n", np.exp2(b), "\n", "exp2(c) is", "\n", np.exp2(c))
    print("sqrt() is:", "\n", "sqrt(a) is", "\n", np.sqrt(a), "\n", "sqrt(b) is", "\n", np.sqrt(b), "\n", "sqrt(c) is", "\n", np.sqrt(c))
    print("sin() is:", "\n", "sin(a) is", "\n", np.sin(a), "\n", "sin(b) is", "\n", np.sin(b), "\n", "sin(c) is", "\n", np.sin(c))
    print("log() is:", "\n", "log(a) is", "\n", np.log(a), "\n", "log(b) is", "\n", np.log(b), "\n", "exp(c) is", "\n", np.log(c))

    更多相关内容
  • 03_numpy练习.zip

    2020-01-02 16:20:05
    python学习之数据分析(三):Numpy科学计算库 文章中涉及的源码、jupyter notebook、markdown笔记文档
  • 100 numpy练习 这是numpy邮件列表,堆栈溢出和numpy文档中的numpy练习的集合。 我自己也创造了一些问题以达到100个极限。 该集合的目的是为新老用户提供快速参考,也为教书的人提供一系列练习。 有关扩展练习,请...
  • Numpy练习:Python-Numpy

    2021-02-17 21:46:49
    Numpy-Exercises-master.zip,Numpy-Exercises-master,Numpy-Exercises.ipynb,LICENSE,README.md
  • Numpy 练习题50道

    千次阅读 2022-03-08 21:22:12
    练习 导入numpy库并简写为np import numpy as np 打印numpy的版本和配置说明 import numpy as np print(np.__version__) np.show_config() 输出: 1.21.3 blas_mkl_info: NOT AVAILABLE blis_info: NOT ...

    练习

    1. 导入numpy库并简写为np
    import numpy as np
    
    1. 打印numpy的版本和配置说明
    import numpy as np
    print(np.__version__)
    np.show_config()
    

    输出:

    1.21.3
    blas_mkl_info:
      NOT AVAILABLE
    blis_info:
      NOT AVAILABLE
    ...
    
    1. 创建一个长度为10的空向量
    import numpy as np
    np.empty(10)
    
    1. 找到任何一个数组的内存大小
    import numpy as np
    data = np.random.randn(2, 2)
    print("%d bytes" % (data.size * data.itemsize))
    

    输出:

    32 bytes
    
    1. 从命令行得到numpyadd函数的说明文档
    import numpy as np
    np.info(np.add)
    
    1. 创建一个长度为10并且除了第5个值为1的空向量
    import numpy as np
    data = np.zeros(10)
    data[4] = 5
    print(data)
    
    1. 创建一个值域范围从10到49的向量
    import numpy as np
    data = np.arange(10,50)
    print(data)
    
    1. 反转一个向量(第一个元素变为最后一个)
    import numpy as np
    data = np.arange(1, 11)
    data = data[::-1]
    print(data)
    
    1. 创建一个 3x3 并且值从0到8的矩阵
    import numpy as np
    data = np.arange(9).reshape(3,3)
    print(data)
    
    1. 找到数组[1,2,0,0,4,0]中非0元素的位置索引
    import numpy as np
    data = np.array([1, 2, 0, 0, 4, 0])
    nz = np.nonzero(data)
    print(nz)
    
    import numpy as np
    data = np.array([1, 2, 0, 0, 4, 0])
    for x in np.arange(0, len(data)):
        if data[x] != 0:
            print(x)
    
    1. 创建一个 3 × 3 3 \times 3 3×3 的单位矩阵
    import numpy as np
    data = np.eye(3)
    
    1. 创建一个 3 × 3 × 3 3 \times 3 \times 3 3×3×3的随机数组
    import numpy as np
    data = np.random.random((3, 3, 3))
    print(data)
    
    1. 创建一个 10 × 10 10 \times 10 10×10 的随机数组并找到它的最大值和最小值
    import numpy as np
    data = np.random.random((10, 10))
    print(np.max(data))
    print(np.min(data))
    
    1. 创建一个长度为30的随机向量并找到它的平均值
    import numpy as np
    data = np.random.random(10)
    print(np.mean(data))
    
    1. 创建一个二维数组,其中边界值为1,其余值为0
    import numpy as np
    data = np.zeros((3,3))
    data[0, :] = 1 #第1行
    data[-1,:] = 1 #最后1行
    data[:, 0] = 1 #第1列
    data[:,-1] = 1 #最后1列
    print(data)
    
    1. 对于一个已存在数组,添加一个用0填充的边界
    import numpy as np
    data = np.ones((5, 5))
    data = np.pad(data, pad_width=1, mode='constant', constant_values=0)
    
    
    1. 以下表达式运行的结果分别是什么?
    0 * np.nan  
    np.nan == np.nan  
    np.inf > np.nan  
    np.nan - np.nan  
    0.3 == 3 * 0.1
    

    输出:

    #NaN = not a number, inf = infinity
    nan
    False
    False
    nan
    False
    
    1. 创建一个 5x5的矩阵,并设置值1,2,3,4落在其对角线下方位置
    import numpy as np
    data = np.diag(1+np.arange(4), k=-1)
    print(data)
    
    1. 创建一个8x8 的矩阵,并且设置成棋盘样式
    import numpy as np
    data = np.zeros((8, 8), dtype=int)
    data[1::2, ::2] = 1
    data[::2, 1::2] = 1
    print(data)
    
    1. 一个 (6,7,8) 形状的数组,其第100个元素的索引(x,y,z)是什么
    import numpy as np
    print(np.unravel_index(100,(6,7,8)))
    
    1. tile函数去创建一个 8 × 8 8 \times 8 8×8的棋盘样式矩阵
    import numpy as np
    data = np.tile(np.array([[0, 1], [1, 0]]), (4, 4))
    print(data)
    
    1. 对一个 5 × 5 5 \times 5 5×5的随机矩阵做归一化
    import numpy as np
    data = np.random.random((5,5))
    data_max, data_min = data.max(), data.min();
    data = (data-data_min)/(data_max-data_min);
    print(data)
    
    
    1. 创建一个将颜色描述为(RGBA)四个无符号字节的自定义dtype
    import numpy as np
    color = np.dtype([("r", np.ubyte, (1,)),
                      ("g", np.ubyte, (1,)),
                      ("b", np.ubyte, (1,)),
                      ("a", np.ubyte, (1,))])
    print(color)
    
    1. 一个 5 × 3 5 \times 3 5×3的矩阵与一个 3 × 2 3 \times 2 3×2的矩阵相乘,实矩阵乘积是什么?
    import numpy as np
    data_1 = np.random.randn(5, 3)
    data_2 = np.random.randn(3, 2)
    data = np.dot(data_1, data_2)
    print(data)
    
    1. 给定一个一维数组,对其在3到8之间的所有元素取反
    import numpy as np
    data = np.arange(11)
    data[(data>3) & (data<8)] *= -1
    print(data)
    

    26.下面脚本运行后的结果是什么?

    print(sum(range(5),-1)) #对提供的可迭代对象进行迭代,对值求和,然后加-1
    

    输出:

    9
    
    from numpy import *
    print(sum(range(5),-1)) #将提供的列表所有值求和
    

    输出

    10
    
    1. 考虑一个整数向量Z,下列表达合法的是哪个?
    import numpy as np
    Z = np.arange(1, 6);
    print(Z**Z)
    print(2 << Z >> 2)
    print(Z <- Z)
    print(1j*Z)
    print(Z/1/1)
    print(Z<Z>Z)
    
    1. 下列表达式的结果分别是什么?
    import numpy as np
    print(np.array(0) / np.array(0))
    print(np.array(0) // np.array(0))
    print(np.array([np.nan]).astype(int).astype(float))
    
    1. 如何从零位对浮点数组做舍入?
    import numpy as np
    # 从均匀[0,1)分布中抽取样本
    data = np.random.uniform(-10,+10,10) 
    print(np.copysign(np.ceil(np.abs(data)), data))
    
    1. 如何找到两个数组中的共同元素?
    import numpy as np
    data_1 = np.arange(1,6)
    data_2 = np.arange(3,8)
    print(np.intersect1d(data_1, data_2))
    
    1. 如何忽略所有的 numpy 警告(尽管不建议这么做)?
    import numpy as np
    defaults = np.seterr(all="ignore")
    data = np.ones(1) / 0
    
    1. 下面的表达式是正确的吗?
    import numpy as np
    print(np.sqrt(-1) == np.emath.sqrt(-1))
    
    1. 如何得到昨天,今天,明天的日期?
    import numpy as np
    yesterday = np.datetime64('today', 'D') - np.timedelta64(1, 'D')
    today = np.datetime64('today', 'D')
    tomorrow = np.datetime64('today', 'D') + np.timedelta64(1, 'D')
    print("Yesterday is " + str(yesterday))
    print("Today is " + str(today))
    print("Tomorrow is "+ str(tomorrow))
    
    1. 如何得到所有与2016年7月对应的日期?
    import numpy as np
    data = np.arange('2016-07', '2016-08', dtype='datetime64[D]')
    print(data)
    
    1. 如何直接在位计算(A+B)*(-A/2)(不建立副本)?
    import numpy as np
    A = np.ones(3)*1
    B = np.ones(3)*2
    C = np.ones(3)*3
    np.add(A,B,out=B)
    np.divide(A,2,out=A)
    np.negative(A,out=A)
    np.multiply(A,B,out=A)
    
    1. 用五种不同的方法去提取一个随机数组的整数部分
    import numpy as np
    data = np.random.uniform(0, 10, 10)
    # 减去小数位
    print(data-data % 1)
    # 向下取整
    print(np.floor(data))
    # 向上取整后减1
    print(np.ceil(data)-1)
    # 将数据格式变为int
    print(data.astype(int))
    # 截断函数trunc,丢弃带符号数的小数部分
    print(np.trunc(data))
    
    1. 创建一个 5 × 5 5 \times 5 5×5的矩阵,其中每行的数值范围从0到4
    import numpy as np
    data = np.zeros((5, 5))
    data += np.arange(0, 5)
    print(data)
    
    1. 通过考虑一个可生成10个整数的函数,来构建一个数组
    import numpy as np
    
    
    def temp():
        return np.arange(0,10)
    
    
    data = temp()
    print(data)
    
    1. 创建一个长度为10的随机向量,其值域范围从0到1,但是不包括0和1
    import numpy as np
    # np.linspace()在指定的间隔内返回均匀间隔的数字
    # endpoint设置将不包括1
    # [1:]将0剔除
    data = np.linspace(0, 1, 11, endpoint=False)[1:]
    print(data)
    
    1. 创建一个长度为10的随机向量,并将其排序
    import numpy as np
    data= np.random.randn(10)
    data.sort()
    print(data)
    
    1. 对于一个小数组,如何用比 np.sum更快的方式对其求和?
    import numpy as np
    data = np.arange(10)
    print(np.add.reduce(data))
    
    
    1. 对于两个随机数组A和B,检查它们是否相等
    import numpy as np
    A = np.arange(1, 5)
    B = np.arange(3, 7)
    # np.allclose比较两个array是不是每一元素都相等
    equal = np.allclose(A, B)
    print(equal)
    
    
    1. 创建一个只读数组(read-only)
    import numpy as np
    Z = np.zeros(10)
    Z.flags.writeable = False
    Z[0] = 1  
    
    
    1. 将笛卡尔坐标下的一个 10 × 2 10 \times 2 10×2的矩阵转换为极坐标形式
    import numpy as np
    Z = np.random.random((10,2))
    X,Y = Z[:,0], Z[:,1]
    R = np.sqrt(X**2+Y**2)
    T = np.arctan2(Y,X)
    print(R)
    print(T)
    
    
    1. 创建一个长度为10的向量,并将向量中最大值替换为1
    import numpy as np
    data = np.arange(0, 8)
    data_max = data.max()
    data[data == data_max] = 1
    print(data)
    

    import numpy as np
    data = np.arange(0, 8)
    data[data.argmax()] = 0
    print(data)
    
    1. 创建一个结构化数组,并实现 x x x y y y 坐标覆盖 [ 0 , 1 ] ∼ [ 0 , 1 ] [0,1] \sim [0,1] [0,1][0,1]
    import numpy as np
    data = np.zeros((5, 5), [('x', float), ('y', float)])
    data['x'], data['y'] = np.meshgrid(np.linspace(0, 1, 5),
                                  np.linspace(0, 1, 5))
    print(data)
    
    1. 给定两个数组 X X X Y Y Y,构造Cauchy矩阵 C ( C i j = 1 / ( x i − y j ) ) C(C_{ij} =1/(x_i - y_j)) C(Cij=1/(xiyj))
    import numpy as np
    X = np.arange(8)
    Y = X + 0.5
    C = 1.0 / np.subtract.outer(X, Y)
    print(np.linalg.det(C))
    
    
    1. 打印每个numpy标量类型的最小值和最大值
    import numpy as np
    for dtype in [np.int8, np.int32, np.int64]:
         print(np.iinfo(dtype).min)
         print(np.iinfo(dtype).max)
    
    for dtype in [np.float32, np.float64]:
         print(np.finfo(dtype).min)
         print(np.finfo(dtype).max)
         print(np.finfo(dtype).eps)
    
    1. 如何打印一个数组中的所有数值?
    np.set_printoptions(threshold=np.nan)
    data = np.zeros((16,16))
    print(data)
    
    1. 给定标量时,如何找到数组中最接近标量的值
    data = np.arange(100)
    v = np.random.uniform(0,100)
    index = (np.abs(data-v)).argmin()
    print (data[index])
    
    展开全文
  • numpy 练习

    2021-03-18 11:34:21
    numpy 练习题numpy练习题numpy 的array操作array 的数学运算 numpy练习题 numpy 的array操作 1.导入numpy库 import numpy as np 2.建立一个一维数组 a 初始化为[4,5,6], (1)输出a 的类型(type)(2)输出a的各维度的...

    numpy练习题

    numpy 的array操作

    1.导入numpy库

    import numpy as np
    

    2.建立一个一维数组 a 初始化为[4,5,6], (1)输出a 的类型(type)(2)输出a的各维度的大小(shape)(3)输出 a的第一个元素(值为4)

    a = np.array([4,5,6])
    print(a.dtype)
    print(a.shape)
    print(a[0])
    

    在这里插入图片描述
    3.建立一个二维数组 b,初始化为 [ [4, 5, 6],[1, 2, 3]] (1)输出各维度的大小(shape)(2)输出 b(0,0),b(0,1),b(1,1) 这三个元素(对应值分别为4,5,2)

    b = np.array( [[4,5,6],[1,2,3]] )
    print(b.shape)
    print(b[0,0],b[0,1],b[1,1])
    

    在这里插入图片描述
    4. (1)建立一个全0矩阵 a, 大小为 3x3; 类型为整型(提示: dtype = int)(2)建立一个全1矩阵b,大小为4x5; (3)建立一个单位矩阵c ,大小为4x4; (4)生成一个随机数矩阵d,大小为 3x2.

    a = np.zeros((3,3),dtype = int )
    b = np.ones((4,5),dtype = int )
    c = np.identity((4),dtype = int )
    d = np.random.randint(1,10,dtype = int,size = (3,2) )
    print(a)
    print(b)
    print(c)
    print(d)
    

    在这里插入图片描述
    5. 建立一个数组 a,(值为[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]] ) ,(1)打印a; (2)输出 下标为(2,3),(0,0) 这两个数组元素的值

    a= np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
    print(a)
    print(a[2,3],a[0,0])
    

    在这里插入图片描述
    6.把上一题的 a数组的 0到1行 2到3列,放到b里面去,(此处不需要从新建立a,直接调用即可)(1),输出b;(2) 输出b 的(0,0)这个元素的值

    b = a[0:2,2:4]
    print(b)
    

    在这里插入图片描述
    7. 把第5题中数组a的最后两行所有元素放到 c中,(提示: a[1:2, :])(1)输出 c ; (2) 输出 c 中第一行的最后一个元素(提示,使用 -1 表示最后一个元素)

    c = a[1:3,:]
    print(c)
    print(c[0][-1])
    

    在这里插入图片描述
    8.建立数组a,初始化a为[[1, 2], [3, 4], [5, 6]],输出 (0,0)(1,1)(2,0)这三个元素(提示: 使用 print(a[[0, 1, 2], [0, 1, 0]]) )

    a = np.array([[1,2],
                  [3,4],
                  [5,6]])
    print(a[[0,1,2],[0,1,0]])
    

    在这里插入图片描述
    9.建立矩阵a ,初始化为[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]],输出(0,0),(1,2),(2,0),(3,1) (提示使用 b = np.array([0, 2, 0, 1]) print(a[np.arange(4), b]))

    a = np.array([[1,2,3],
                 [4,5,6],
                 [7,8,9],
                 [10,11,12]])
    b = np.array([0,2,0,1])
    print(a[np.arange(4),b])
    

    在这里插入图片描述
    10.对9 中输出的那四个元素,每个都加上10,然后重新输出矩阵a.(提示: a[np.arange(4), b] += 10 )

    a[np.arange(4),b] += 10;
    print(a)
    

    在这里插入图片描述

    array 的数学运算

    11. 执行 x = np.array([1, 2]),然后输出 x 的数据类型

    x = np.array([1,2])
    print(x.dtype)
    

    在这里插入图片描述
    12.执行 x = np.array([1.0, 2.0]) ,然后输出 x 的数据类类型

    x = np.array([1.0,2.0])
    print(x.dtype)
    

    在这里插入图片描述
    13.执行 x = np.array([[1, 2], [3, 4]], dtype=np.float64) ,y = np.array([[5, 6], [7, 8]], dtype=np.float64),然后输出 x+y ,和 np.add(x,y)

    x = np.array([[1,2],
                 [3,4]],dtype=np.float64)
    y = np.array([[5,6],
                 [7,8]],dtype=np.float64)
    print(x + y)
    print(np.add(x,y))
    

    在这里插入图片描述
    14. 利用 13题目中的x,y 输出 x-y 和 np.subtract(x,y)

    print(x - y)
    print(np.subtract(x,y))
    

    在这里插入图片描述
    15. 利用13题目中的x,y 输出 x*y ,和 np.multiply(x, y) 还有 np.dot(x,y),比较差异。然后自己换一个不是方阵的试试。

    print(x*y)
    print(np.multiply(x,y))
    print(np.dot(x,y)) #矩阵相乘
    

    在这里插入图片描述
    16. 利用13题目中的x,y,输出 x / y .(提示 : 使用函数 np.divide())

    print(x / y)
    print(np.divide(x,y))
    

    在这里插入图片描述
    17. 利用13题目中的x,输出 x的 开方。(提示: 使用函数 np.sqrt() )

    print(np.sqrt(x))
    

    在这里插入图片描述
    18.利用13题目中的x,y ,执行 print(x.dot(y)) 和 print(np.dot(x,y))

    print(x.dot(y))
    print(np.dot(x,y))
    

    在这里插入图片描述
    19.利用13题目中的 x,进行求和。提示:输出三种求和 (1)print(np.sum(x)): (2)print(np.sum(x,axis =0 )); (3)print(np.sum(x,axis = 1))

    print(np.sum(x))
    print(np.sum(x,axis=0))
    print(np.sum(x,axis=1))
    

    在这里插入图片描述
    20.利用13题目中的 x,进行求平均数(提示:输出三种平均数(1)print(np.mean(x)) (2)print(np.mean(x,axis = 0))(3) print(np.mean(x,axis =1)))

    print( np.mean(x))
    print( np.mean(x,axis = 0))
    print( np.mean(x,axis = 1))
    

    在这里插入图片描述
    21.利用13题目中的x,对x 进行矩阵转置,然后输出转置后的结果,(提示: x.T 表示对 x 的转置)

    x=x.T
    print(x)
    

    在这里插入图片描述
    22.利用13题目中的x,求e的指数(提示: 函数 np.exp())

    print(np.exp(x))
    

    在这里插入图片描述
    23.利用13题目中的 x,求值最大的下标(提示(1)print(np.argmax(x)) ,(2) print(np.argmax(x, axis =0))(3)print(np.argmax(x),axis =1))

    print(np.argmax(x))
    print(np.argmax(x,axis = 0))
    print(np.argmax(x,axis = 1))
    

    在这里插入图片描述
    24,画图,y=x*x 其中 x = np.arange(0, 100, 0.1) (提示这里用到 matplotlib.pyplot 库)

    import matplotlib.pyplot as plt
    
    x = np.arange(0,100,0.1)
    y=x*x
    plt.plot(x,y)
    plt.show()
    

    在这里插入图片描述
    25.画图。画正弦函数和余弦函数, x = np.arange(0, 3 * np.pi, 0.1)(提示:这里用到 np.sin() np.cos() 函数和 matplotlib.pyplot 库)

    x = np.arange(0,3*np.pi,0.1)
    y = np.sin(x)
    plt.plot(x,y)
    plt.show()
    y = np.cos(x)
    plt.plot(x,y)
    plt.show
    

    在这里插入图片描述

    展开全文
  • 100道numpy练习

    2019-04-13 15:08:14
    文件为github上著名的100道numpy练习题,增加了pdf格式,便于打印和在移动设备上查看。
  • numpy练习html显示

    2019-04-28 17:24:39
    numpy一些简单的函数和用法,呵呵,用于自学什么的
  • Numpy100题练习

    2018-12-20 16:51:34
    Numpy100道基础练习题,GitHub大神整理,做完这100题numpy就能基本掌握用法了
  • 70个Numpy练习

    2018-03-03 13:23:00
    包含70到Numpy练习,帮助你搞定Numpy运算。资料仅供学习使用,侵权请联系,将立即删除。
  • Numpy练习题-参考解答.ipynb
  • python pandas和numpy练习

    2021-03-06 14:10:21
    import numpy as np data = {'animal':['cat','cat','snake','dog','god','cat','snake','cat','dog','dog'],'age':[2.5,3,0.5,np.nan,5,2,4.5,np.nan,7,3],'visits':[1,3,2,3,2,3,1,1,2,1],'priority':['yes','yes'...

    1. 从字典对象创建Dataframe

    import pandas as pd
    import numpy as np
    data = {'animal':['cat','cat','snake','dog','god','cat','snake','cat','dog','dog'],'age':[2.5,3,0.5,np.nan,5,2,4.5,np.nan,7,3],'visits':[1,3,2,3,2,3,1,1,2,1],'priority':['yes','yes','no','yes','no','no','no','yse','no','no']}
    labels = ['a','b','c','d','e','f','g','h','i','j']
    frame = pd.DataFrame(data,index = labels)
    print(frame)
     animalagevisitspriority
    acat2.51yes
    bcat3.03yes
    csnake0.52no
    ddogNaN3yes
    egod5.02no
    fcat2.03no
    gsnake4.51no
    hcatNaN1yes
    idog7.02no
    jdog3.01no

    2. 基础操作

    #显示DataFrame的基础信息,包括行数,列名,值的数量和类型
    print(frame.info())
    
    
    
    <class 'pandas.core.frame.DataFrame'>
    Index: 10 entries, a to j
    Data columns (total 4 columns):
     #   Column    Non-Null Count  Dtype  
    ---  ------    --------------  -----  
     0   animal    10 non-null     object 
     1   age       8 non-null      float64
     2   visits    10 non-null     int64  
     3   priority  10 non-null     object 
    dtypes: float64(1), int64(1), object(2)
    memory usage: 400.0+ bytes
    None

    iloc是根据行号来索引,loc是根据index来索引

    #展示前三行
    print(frame.head(3))
    #取出animal和age列
    print(frame.loc[:,['animal','age']])
    #取出索引为[3,4,8]行的animal和age列
    print(frame.loc[frame.index[[3,4,8]],['animal','age']])
    #取出age值大于3的行
    print(frame[frame['age']>3])
    #取出age值缺失的行
    print(frame[frame['age'].isnull()])
    #取出age在2。4之间的行(不含)
    print(frame[(frame['age']>2) & (frame['age']<4)])

     

    #将f行的age改为1.5
    frame.loc['f','age'] = 1.5
    #计算visits的总和
    print(frame['visits'].sum())
    #计算每个不同种类animal的age的平均数
    print(frame.groupby('animal')['age'].mean())
    #计算每个种类animal的数量
    print(frame.groupby('animal')['animal'].count())
    
    #对每种animal的每种不同数量visits计算平均age
    frame.groupby(['animal','visits'])['age'].mean()
    
    
    
    animal  visits
    cat     1         2.50
            3         2.25
    dog     1         3.00
            2         7.00
            3          NaN
    god     2         5.00
    pig     1         4.50
            2         0.50
    Name: age, dtype: float64
    
    
    
    
    #可以显示二维列联表
    frame.pivot_table(index = 'animal',columns = 'visits',values = 'age',aggfunc = 'mean')
    
    
    
    visits    1    2     3
    animal                
    cat     2.5  NaN  2.25
    dog     3.0  7.0   NaN
    god     NaN  5.0   NaN
    pig     4.5  0.5   NaN
    #在frame中插入新行k
    frame.loc['k'] = ['cat',5,2,'no']
    #删除该行
    frame.drop('k')

     

    #删除数值重复的行
    df = pd.DataFrame({'A':[1,2,2,2,4,5,6,6]})
    df1 = df.drop_duplicates(subset = 'A')
    #每个数字减去该行的平均数
    df = pd.DataFrame(np.random.random((2,2)))
    df1 = df - df.mean(axis = 1)

     

    3. 如何生成考最高一次雅思成绩的学生的姓名和时间(字节跳动面试题)

    data = {'id':['A','A','A','B','B','C','C','C'],'grade':[6,7,8,5,6,4,8,9],'time':['0102','0203','0304','0405','0506','0607','0708','0809']}
    data = pd.DataFrame(data)
    print(data)
    
      id  grade  time
    0  A      6  0102
    1  A      7  0203
    2  A      8  0304
    3  B      5  0405
    4  B      6  0506
    5  C      4  0607
    6  C      8  0708
    7  C      9  0809
    
    
    
    #先按成绩排序,再按学生分组,再选取每组第一行的数据
    data.sort_values('grade',ascending = False).groupby('id').first()
    
        grade  time
    id             
    A       8  0304
    B       6  0506
    C       9  0809

     

    展开全文
  • 练习题:Numpy基本练习:1.Import NumPy as np2.Create an array of 10 zeros3.Create an array
  • 练习数据,现用现取
  • Python Numpy练习

    2020-08-24 13:34:39
    练习一 题目: • 创建 2 * 2 的数组arr1 元素自定义 • 创建 2 * 2 * 3 的数组arr2 元素自定义 • 查看arr2的维度以及形状 • 将arr2转为1维 • 将arr1进行转置 • 生成 4*4 全为1的数组 arr3 • 生成 单位矩阵 ...
  • Q:将 numpy 导入为 np 并查看版本号。 参考答案: import numpy as np print(np.__version__) 输出:1.20.3 2. Q:创建一个从0到9的一维数组。 三种方法都可以。arange用法和range用法相同。 res = np.array([0,1,2...
  • 数据分析 Numpy练习笔记,统计10000本书的平均评分,并统计程序运行时间(程序所需附件rating.txt)
  • Numpy练习题100(1)

    2022-05-11 17:31:05
  • 50道numpy练习

    千次阅读 2019-10-30 17:21:00
    这是在stackoverflow和numpy文档里汇总的numpy练习题,目的是为新老用户提供快速参考。1. Import the numpy package under...
  • 机器学习:此存储库包含一些笔记本,可以帮助您了解基本的ML算法以及基本的numpy练习。 :rainbow:
  • python之numpy练习

    千次阅读 2019-03-31 15:57:56
    python之numpy练习题 1.打印当前numpy版本 import numpy as np print(np.version) 1.13.3 构造一个全零的矩阵,并打印其占用的内存大小 z=np.zeros((5,5)) print(’%d bytes ’ %(z.size*(z.itemsize))) ...
  • Python的Numpy练习

    千次阅读 2019-09-05 11:07:44
    1、创建一个长度为10的一维全为0的ndarry对象,然后让第五个元素等于 2、创建一个元素为从10到49的narray对象。 3、创建一个4*4的二维数组,并输出数组元素类型。...4、创建一个数组,该数组可以完全将坐标位置为...
  • 本文总结了Numpy的常用操作,并做成练习题,练习题附答案建议读者把练习题完成。作者认为,做完练习题,Numpy的基本操作没有问题了,以后碰到问题也可以查这些习题。(文末提供下载)Num...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,449
精华内容 10,179
关键字:

numpy 练习