python 分析扩展包

举报
IT十八掌 发表于 2019/05/31 13:48:48 2019/05/31
【摘要】 1、NumPyNumPy提供了多种python本身不支持的多种集合,有list、ndarray和ufunc。list更加灵活的数组,支持多维,数据可不同型,存储数量远大于array。array只支持同型数据,空间有限。ndarray多维数组类,方便操纵多维数组,数据必须同型,操纵高效。ufunc对数组进行高效处理的函数。主要用于高维数组的访问,底层使用c/c++实现。1.1 构造数组impo...

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)

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'])

数据框结构如下:

namemarksprice
yahoo2009
google4003
facebook8007


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。