Python扩展包

1、NumPy

NumPy提供了多种python本身不支持的多种集合,有list、ndarray和ufunc。

  • list

    更加灵活的数组,支持多维,数据可不同型,存储数量远大于array。array只支持同型数据,空间有限。

  • ndarray

    多维数组类,方便操纵多维数组,数据必须同型,操纵高效。

  • ufunc

    对数组进行高效处理的函数。主要用于高维数组的访问,底层使用c/c++实现。

1.1 构造数组

import numpy as np
# 一维数组
arr = np.array([2,0,1,5,8,3], dtype=np.float64)
# 二维数组
arr = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [7, 8, 9, 10]], dtype=np.float64)

1.2 max函数

# 提取数组最大值
arr.max()

1.3 min

arr.min()

1.4 sort

arr.sort()

1.5 数组形状

# 属性
arr.shape
# 内置函数
type(a)

1.6 切片

切片本质上就是去数组的子集。

# 全部元素
arr[:]
# 开始至导数第二个元素
arr[:-2]
# 最后的两个元素
arr[-2:]
# 第一个元素
arr[:1] # 二维数组切片
arr[:][:]
#
arr[1][:-2]

1.7 数学函数

Numpy封装了很多数学函数。

  • 正弦函数

    np.sin(np.pi / 6)
  • zeros函数

    # 初始化所有元素为0。
    np.zeros((3,4) ,dtype=np.float64),
  • ones

    # 初始化所元素为1
    np.ones((3,4) ,dtype=np.float64)

1.8 数组与标量值计算

  1. 同型数组相乘就是对应元素相乘

    arr1 = np.array([[1,2,3],[4,5,6]])
    arr2 = arr1 * arr1
    # 结果
    [
    [1,4,9] ,
    [16,25,36]
    ]
  2. 同型数组相减对应元素相减

    arr1 = np.array([[1,2,3],[4,5,6]])
    arr2 = arr1 - arr1
    # 结果
    [
    [0,0,0] ,
    [0,0,0]
    ]
  3. 数组的倒数对应每个元素的倒数

    arr1 = np.array([[1,2,3],[4,5,6]])
    arr2 = 1 / arr1
    # 结果
    [
    [1,0.5,0.33333] ,
    [0.25,0.2,0.166666]
    ]

1.9 布尔索引

# 名称数组
names = np.array(['Bob','Joe','Bob','Joe'])
names == 'Bob'
# 结果
array([ True, False, True, False])

1.10 随机数组

# 随机数组
arr = np.random.randn(4,4)
# 结果
array([[-0.63024369, -0.46411696, 0.39215462, -1.59666929],
[-0.66560699, -0.39085017, 1.44804687, -0.32239144],
[-0.23065156, -2.05660209, -0.59777198, 0.36496691],
[-2.21541391, 1.61258062, -0.43754217, -0.58834426]]) # 同布尔型数组组合
arr[names=='Bob']
array([[-0.63024369, -0.46411696, 0.39215462, -1.59666929],
[-0.23065156, -2.05660209, -0.59777198, 0.36496691]])

1.11 空数组

空数组赋值,是对每个元素都进行赋值。

# 空数组,里面没有任何内容
arr = np.empty((5,4))
for i in range(5):
arr[i] = i # 结果
array([[0., 0., 0., 0.],
[1., 1., 1., 1.],
[2., 2., 2., 2.],
[3., 3., 3., 3.],
[4., 4., 4., 4.]])

1.12 通用函数

  1. np.arange

    arr = np.arange(10)
    # 结果
    array([1,2,3,4,5,6,7,8,9])
  2. np.sqrt

    np.sqrt(array([1,4,9]))
    # 结果
    array([1,2,3])
  3. np.random.randn(8)

    arr = np.random.randn(8)
    # 结果
    array([ 0.67089833, 0.29382861, 0.83511179, -0.44452724, 0.12621945,
    -0.7167797 , -0.42452128, -0.63488661])
  4. np.maximum(a,b)

    x = np.array([1,2,3])
    y = np.array([5,0,5])
    np.maximum(x,y
    # 结果
    array([5, 2, 5])
  5. 一元函数

    函数 解释
    abs 绝对值
    exp 指数
    ceil ceil
    floor floor
    cos、sin、cosh、sinh 普通型和双曲型三角函数
    arccos 反余弦
    arcsin 反正弦
  6. 二元函数

    函数 解释
    add
    multiply
    divide、floor_divide

2、pandas

pandas 是panel data的之意。它是Python最强大的数据分析和探索工具,因金融数据分析工具而开发,支持类似SQL的数据增删改查功能,支持时间序列分析,灵活处理缺失数据。pandas有两种数据类型,Series和DataFrame。

2.1 Series

Series是一列数据,相当于表格中的一列。

s1 = Series([1,2,3,4])
# key是索引列
s1 = Series({'a':100 , 'b':200 , 'c':300 ,'d':400})
# 所有值
s1.values
# 所有索引
s1.index
# 通过索引访问
s1['b']

2.2 DataFrame

数据框是二维表格,类似于关系型数据库中的表。

# 构造数据
data = {"name":["yahoo","google","facebook"], "marks":[200,400,800], "price":[9, 3, 7]}
# 数据全部列
df1 = DataFrame(data)
# 使用指定的列
pds=pd.DataFrame(data,columns=['name','price','marks'])

数据框结构如下:

name marks price
yahoo 200 9
google 400 3
facebook 800 7

Python扩展包的更多相关文章

  1. LFD,非官方的Windows二进制文件的Python扩展包

    LFD,非官方的Windows二进制文件的Python扩展包 LFD,非官方版本.32和64位.Windows.二进制文件.科学开源.Python扩展包 克里斯托夫·戈尔克(by Christoph ...

  2. TensorFlow常用Python扩展包

    TensorFlow常用Python扩展包 TensorFlow 能够实现大部分神经网络的功能.但是,这还是不够的.对于预处理任务.序列化甚至绘图任务,还需要更多的 Python 包. 下面列出了一些 ...

  3. 机器学习常用Python扩展包

    在Ubuntu下安装Python模块通常有3种方法:1)使用apt-get:2)使用pip命令(推荐);3)easy_instal 可安装方法参考:[转]linux和windows下安装python集 ...

  4. windows下的python扩展包下载地址

    比如lxml什么的 Unofficial Windows Binaries for Python Extension Packages pip install xxx.whl

  5. Windows二进制文件的Python扩展包

    http://www.lfd.uci.edu/~gohlke/pythonlibs/ https://pypi.python.org/simple/

  6. 用于Python扩展包的非官方Windows二进制文件

    https://www.lfd.uci.edu/~gohlke/pythonlibs/ Index by date: peewee aiohttp indexed_gzip pygit2 pymatg ...

  7. python扩展包的升级

    检查更新:pip list --outdated 更新: pip install --upgrade xxxx

  8. linux和windows下安装python拓展包及requirement.txt安装类库

    python拓展包安装 直接安装拓展包默认路径: Unix(Linux)默认路径:/usr/local/lib/pythonX.Y/site-packagesWindows默认路径:C:\Python ...

  9. 使用pip安装扩展包

    pip可以对python扩展包进行查找.下载.安装.卸载等

随机推荐

  1. 解决maven项目中有小红叉的问题

    首先在window--perferences--showview中显示problems中查看出错的原因

  2. Python集合字典运算符

    1.集合2.字典3.运算符优先级 1.集合 创建:{} set([]) 注意:创建空的集合要用set()   特点:元素唯一,无序   运算: & 交集 | 并集 - 差集   方法:   s ...

  3. Django 08 Django模型基础3(关系表的数据操作、表关联对象的访问、多表查询、聚合、分组、F、Q查询)

    Django 08 Django模型基础3(关系表的数据操作.表关联对象的访问.多表查询.聚合.分组.F.Q查询) 一.关系表的数据操作 #为了能方便学习,我们进入项目的idle中去执行我们的操作,通 ...

  4. 江西财经大学第一届程序设计竞赛 C

    链接:https://www.nowcoder.com/acm/contest/115/C来源:牛客网 题目描述 决赛圈还剩下两个人,“伏地魔”XDD和跑毒进圈的FZL,XDD拿着狙击枪AWM瞄准并准 ...

  5. linux下WordPress安装

    http://www.cnblogs.com/xiaofengkang/ WordPress简介 WordPress 是一种使用 PHP语言和 MySQL数据库开发的开源.免费的Blog(博客,网志) ...

  6. ubuntu 启动 ssh 服务

    $ sudo service ssh start $ sudo /etc/init.d/ssh start 重启 $ sudo /etc/init.d/ssh restart $ sudo servi ...

  7. QQ号_保存_20180124

    1.1337978907 (密码:33+我的名字全小写全部拼音) 2. 3. 4. 5.

  8. g++ -I(大写i) 与-L(大写l)-l(小写l) 的作用与学习

    linux 下 g++编译程序时,-I(大写i) 与-L(大写l)-l(小写l) 的作用 作为一个linux入门级使用者,gcc/g++ 的简单操作已经用过多次, 但是有时稍微复杂一点的程序就会使用到 ...

  9. Java基础13-数组算法

    1.数组的复制 //复制算法,将arr1数组的值复制给arr2数组 import java.util.Arrays; public class Test1{ public static void ma ...

  10. 性能测试工具LoadRunner09-LR之Virtual User Generator 日志

    在录制和回放的时候,VU会分别把发生的事件记录成日志文件,这些日志有利于我们跟踪VU和服务器的交互过程 回放日志(Replay Log) 脚本回放运行时的输出都记在这个Log里 “输出”窗口的“回放日 ...