Python数据分析和处理

本文介绍了NumPy库的基础知识,包括一维、二维和多维数据的概念,以及NumPy的N维数组对象ndarray。通过实例展示了如何创建和操作ndarray,如从列表创建数组、使用函数创建数组以及数组与标量的运算。还演示了NumPy的一元和二元函数,如平方、开方和最大值操作,说明了这些函数如何应用于数组的每个元素。
摘要由CSDN通过智能技术生成

数据的维度

从一个数据到一组数据:一个数据表达一个含义,一组数据表达一个或多个含义

维度:一组数据的组织形式

一维数据:由对等关系的有序或无序数据构成。采用线性方式组织

二维数据:由多个一维数据组成,是一维数据的组合形式

多维数据:由一维或二维数据在新维度上扩展形成

高维数据:仅利用最基本的二元关系展示数据间的复杂结构,就是由键值对将数据组织起来形成的一种数据方式

NumPy

NumPy是一个开源的Python科学计算基础库,包含:

一个强大的N维数组对象ndarray;

广播功能函数;

整合C/C++/Fortran代码的工具;

线性代数、傅里叶变换、随机数生成等功能;

NumPy是SciPy、Pandas等数据处理或科学计算库的基础 

NumPy的引用

import numpy as np引入模块的别名)尽管别名可以省略或更改,建议使用上述约定的别名

N维数组对象ndarray

ndarray是一个多维数组对象,由两部分构成:实际的数据;描述这些数据的元数据(数据维度、数据类型等);

ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始 

ndarray对象的属性

 ndarray实例

In [22]:a=np.array([[0, 1, 2, 3, 4],
                    [9, 8, 7, 6, 5]])
In [23]: a.ndim 
Out [23]:2
In [24]: a.shape
Out [24]: (2, 5)
In [25]: a.size 
Out [25]: 10
In [26]: a.dtype
Out [26]: dtype('int32')
In [27]: a. itemsize 
Out[27]:4 

ndarray数组的创建方法

从Python中的列表、元组等类型创建ndarray数组

使用NumPy中函数创建ndarray数组,如: arange, ones, zeros等

从字节流(raw bytes )中创建ndarray数组

从文件中读取特定格式,创建ndarray数组 

ndarray数组的创建方法

(1)从Python中的列表、元组等类型创建ndarray数组

X = np.array(list/tuple)

X = np.array (list/tuple, dtype=np.float32)

当np.array()不指定dtype时,NumPy将根据数据情况关联一个dtype类型 

数组与标量之间的运算:作用于数组的每一个元素

#NumPy一元函数实例
In [176]: a = np.arange (24) .reshape((2,3,4))
In [177]: np. square(a)
Out [177]:
array([[[ 0, 1, 4, 9],
        [ 16, 25, 36, 49],
        [ 64, 81, 100, 121]],
#注意数组是否被真实改变
        [[144, 169, 196, 225],
        [256, 289, 324, 361],
        [400, 441, 484, 529]]], dtype=int32)
In [178]: a = np.sqrt(a) 
In [179]: a
Out[179]: 
array([[[ e.|, 1., 1.41421356, 1.73205081],
        [2.23606798, 2.44948974, 2.64575131],
        [ 2.82842712, 3.[2.|, 3.16227766, 3.31662479]],
        [[ 3.46410162, 3.60555128, 3.74165739, 3.87298335],
        [4. , 4.12310563, 4.24264069, 4.35889894],
        [ 4.47213595, 4.58257569, 4.69041576, 4.79583152]]])
In [180]: np.modf(a) 
Out [180]: 
(array([[[ e.Θ.,0.41421356, 0.73205081],
        [0.0.23606798, 0.44948974, 0.64575131],
        [ 0.16227766, 0.31662479]], 
        [[ 0.46410162, 0.60555128, 0.74165739, 0.87298335], 
        [Θ.[0.82842712, 0.0.12310563, 0.24264069, 0.35889894],
        [0.47213595, 0.58257569, 0.69041576, 0.79583152]]]),
array([[[ 0., 1., 1., 1.],[2., 2., 2., 2.],[2., 3., 3., 3.]],
[[ 3.,3.,3., 3.],4.,4.,4.,4.],4., 4.,4., 4.]]]))

 

#NumPy二元函数实例
In [203]: a = np.arange(24). reshape((2,3,4)) 
In [204]: b = np.sqrt(a)
In [205]: a
Out[205]:
array([[[ 0, 1, 2, 3],[4, 5, 6, 7],[8, 9, 10, 11]],
[[12, 13, 14, 15],[16, 17, 18, 19],[20, 21, 22, 23]]])
In [206]: b 
Out[206]: 
array([[[ 0.1, 1.41421356, 1.73205081],
[2. , 2.23606798, 2.44948974, 2.64575131],
[ 2.82842712, 3., 1., 3.16227766, 3.31662479]],
[[ 3.46410162, 3.60555128, 3.74165739, 3.87298335],
[4.4.12310563, 4.24264069, 4.35889894],
[ 4.47213595, 4.58257569, 4.69041576, 4.79583152]]])
In [207]: np. maximum(a, b) 
Out[207]: 
array([[[| 0.,1., 2., 3.],[5., 6., 7.],[8.,9., 10., 11.]],
#运算结果为浮点数
[[ 12., 13., 14., 15.],
[ 16., 17., 18., 19.],
[ 20., 21., 22., 23.]]])
In [208]: a> bOut[208]: 
array([[[False, False, True, True], 
[True, True, True, True], 
[True, True, True, True]], 
[[ True, True, True, True], 
[True, True, True, True], 
[True, True, True, True]]], dtype=bool)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值