python array函数_Python笔记--Numpy函数汇总

数组对象ndarray

1.1 数组的创建:

# 使用array创建数组:

arr = np.array([1,2,3]) --创建一维数组

arr = np.array([1,2,3],[4,5,6],[7,8,9]) --创建二维数组

# 使用arange创建数组

arr = np.arange(0,10,1) --创建初值为0,终值为9的递增一维数组

arr = np.arange(12).reshape(3,4) --创建1-12的3行4列的二维数组

# 使用linspace创建等差数组

arr = np.linspace(0,10,1)

# 使用logspace创建等比数组

arr = np.logspace(0,2,20)

# 使用zeros创建元素全为0的数组

arr = np.zeros((2,3)) --创建2行3列的二维数组

# 使用eye创建对角线元素为1的单位矩阵

arr = np.eye(3)

# 使用diag创建对角线元素为0或其他的矩阵

arr = np.diag([1,2,3,4])

# 使用ones创建元素全为1的数组

arr = np.ones((4,3))

1.2 数组的属性

arr.ndim --数组的维度

arr.shape --数组的形状,为n行m列

arr.size --数组的元素总数

arr.dtype --数组的元素类型

arr.itemsize --数组每个元素的大小

1.3 数组的数据类型

bool --布尔值,True或False

int8/in16/int32/int64 --整数

float16/float32/float64 --浮点数

# 数组的类型转换

np.bool(42)

np.int16(42.3)

np.float(42)

1.4 生成随机数:

np.random.random(100) --生成100个0-1的随机数

np.random.rand(10,5) --生成10行5列0-1的服从均匀分布的随机数

np.random.randn(10,5) --生成正态分布的随机数

np.random.randint(2,10,size = [2,5]) --生成2行5列取值为2-10整数的随机数

1.5 数组的索引:

# 一维数组的索引,与Python中list的索引方式一致

arr[5], arr[3:5], arr[:5], arr[-1], arr[1:-1:2]--2表示隔一个元素取一个

# 二维数组的索引:arr[1:,2:],各个维度的索引用逗号隔开

1.6 变换数组的形态:

# 改变数组形状--reshape

arr.reshape(3,4) 改为3行4列

# 使用ravel展平数组--横向展平

arr.ravel()

# 使用flatten横向或纵向展平数组

arr.flatten() ---横向展平

arr.flatten('F') ---纵向展平

# 数组横向组合--hstack()

np.hstack((arr1,arr2))

# 数组的纵向组合 --vstack()

np.vstack((arr1,arr2))

# 数组的横向分割--hsplit

np.hsplit(arr,2)

# 数组的纵向分割--vsplit

np.vsplit(arr,2)

2. Numpy矩阵和通用函数

2.1 常用的ufunc函数运算

# 数组的四则运算:

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

y = np.array([4,5,6])

x + y

x - y

x * y

x / y

x ** y

# 数组之间的比较

x < y

x > y

x == y

x != y --输出为bool值

2.2 对数组进行简单的统计分析

# 对数组继续排序

arr.sort(axis =1) --沿着横轴排序

arr.sort(axis =0) --沿着纵轴排序

# 对数组进行去重

np.unique(arr)

# 数组的重复--tile

np.tile(arr,3)

# 数组中每个元素进行重复--repeat

arr.repeat(2,axis=0)--按行进行元素重复

arr.repeat(2,axis=1)--按列继续元素重复

# 常用的统计函数

sum()

max()

min()

mean()

std()

var()

cumsum() --累计和

cumprod --累计积

关于作者:

本人就职于某金融科技公司从事风控建模工作,欢迎交流。

对于风控和机器学习感兴趣的童鞋可以关注下我的公众号:风控汪的数据分析之路。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值