pandas数据结构之numpy

    -- 综述
        numpy主要用于进行运算
        dataframe更切合于业务逻辑
        

    -- numpy的创建, 传入多维数组或者使用routines函数创建
        import numpy as np
        test = np.array([[1,2,3],[4,5,6]])
    -- routines函数创建
        np.ones(shape, dtype=None, order='C') , np.ones([2,2])
        np.full(shape,fill_value,dtype=None,order='C') ,np.full([3,3],3.14)
        np.eye(N,M=None,k=0,dtype=float) ,np.eye(4,4,1)                                     np.linspace(start,stop,num=50,endpoint=True,retstep=false,dtype=None) , np.linspace(0,10,5) 等差数列
        np.arrang([start,]stop,[step,]dtype=None) , np.arange(0,10,2) 等差数列
           

    # 常用的routines函数
        np.random.seed(100)#随机的种子,有了种子,每次都一样
        
        np.random.randint(low,high=None,size=None,dtype='l'), np.random.randint(0,10,size=(5,3))
        
        np.random.rand(d0,d1,d2.....) , np.random.rand(10)
        np.random.raondom(size=None) , np.random.random([2,2]) 产生一个0~1之间的np.ndarray

    -- 索引,切片,变形同dataframe
    -- 级联: np.concatenate() 级联需要注意的点:
            级联的参数是列表:一定要加中括号
            维度必须相同形状相符
            【重点】级联的方向默认是shape这个tuple的第一个值所代表的维度方向可通过axis参数改变级联的方向 ,z = np.concatenate([x,y])

    -- numpy的矩阵操作
        numpy与numpy之间只能形状相同的才能进行运算
        numpy之间进行线性代数的矩阵积 np.dot(), 它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义即(m * p)*(p * n)
        

    -- numpy的广播机制
        【重要】ndarray广播机制的两条规则
            规则一:为缺失的维度补1
            规则二:假定缺失元素用已有值填充
        例: a = np.arange(3).reshape((3,1))
    a
    输出:
    array([[0],
           [1],
           [2]])
    
    b = np.arange(3)
    b
    输出:
    array([0, 1, 2])
    
    a+b
    输出:
    array([[0, 1, 2],
           [1, 2, 3],
           [2, 3, 4]])

    -- numpy的排序
        np.sort()与ndarray.sort()都可以,但有区别:
        np.sort()不改变输入
        ndarray.sort()本地处理,不占用空间,但改变输入

    -- numpy的部门排序
        np.partition(a,k)
        有的时候我们不是对全部数据感兴趣,我们可能只对最小或最大的一部分感兴趣。
        当k为正时,我们想要得到最小的k个数
        当k为负时,我们想要得到最大的k个数
        例: import numpy as np
        a = np.random.randint(0,100,10)
        print(a)
        print(np.partition(a,3))
    
        输出:
        [67  0 63 42 30 82 28 63 95 13]
        [ 0 13 28 30 42 82 63 63 95 67]


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NumPyPandas是Python中两个用于数据分析的重要库。NumPy是一个数学库,提供了多维数组对象和用于处理这些数组的函数。它是大多数数据科学工具和库的基础。Pandas是一个数据处理和分析库,它建立在NumPy之上,提供了用于处理和操作结构化数据的高级数据结构和函数。 NumPy的主要特点是它的多维数组对象(也称为ndarray),它可以存储相同类型的元素。这使得NumPy非常适合进行数学和统计计算,以及处理大规模数据集。NumPy还提供了许多用于数组操作的函数,包括索引、切片、聚合操作、线性代数、傅里叶变换等。在数据分析中,NumPy常用于数据清洗、转换和计算。 Pandas是基于NumPy构建的,它提供了两个主要的数据结构:Series和DataFrame。Series是一维标记数组,类似于带有标签的NumPy数组。DataFrame是一个二维表格,类似于Excel或SQL表。Pandas提供了丰富的功能,包括数据的读取和写入、数据清洗、数据过滤、数据聚合、数据可视化等。 Pandas的优势在于它的表格结构和灵活的数据处理能力。它可以处理不同类型的数据(整数、浮点数、字符串等),并且可以进行缺失值处理和重复值处理。此外,Pandas还提供了强大的数据操作功能,如合并、拼接、分组和透视等。 综上所述,NumPyPandas是两个在数据分析中广泛使用的Python库,它们提供了高效的数据处理和分析工具,能够满足不同场景下的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值