大数据基础——numpy基础第一天(数组python代码)

import numpy as np
arr1 = np.array([0.3,0.5,4.2])
arr2 = np.array([[3,4,5],
               [4,2,1]])
print(arr1)
print(type(arr1))
print(arr2)
print(type(arr2))

#查看数组属性
print(arr1.shape)#一维时数多少个数,二维时数多少个数组,
print(arr1.ndim)
print(arr1.dtype)
print(arr2.shape)
print(arr2.ndim)
print(arr2.dtype)

# 初始数组的特点
list1 = [0.3,0.5,4.2]
arr1 = np.array([0.3,0.5,4.2])
print(list1)
print(arr1)

#list1 ** 2报错
print([i ** 2 for i in list1])#计算麻烦,占用空间大

print(arr1 ** 2)

arr3 = np.arange(0,10)
arr4 = np.arange(10)#起点默认时0
arr5 = np.arange(0,1,0.1)#0 到 1 之间间隔为0.1的十个数

print(arr3)
print(arr4)
print(arr5)

help(np.arange)#查看函数用法


arr6 = np.linspace(0,1,11)#指定0为起点,1为终点,11为数量
print(arr6)


arr7 = np.zeros([3,4])#生成3行4列的全0数组
arr8 = np.zeros([3])#生成1 行 3列的全0数组
arr9 = np.zeros([3,4,5])#生成3层4行5列的全0数组
#从后往前以次是列、行、层
print(arr7)
print(arr8)
print(arr9)


# 数组的数据类型
arr18 = np.array([3,4,5])
print(arr18)
print(arr18.dtype)
arr18[0] = 1.2#创建的时候已经定义好了是32位的整形,修改不了类型四舍五入
print(arr18)
#后期修改类型
#print(np.float32(arr18))#转换为了浮点型32位,int32()可以转换为int整形的32位

arr19 = np.array([3,4,5],dtype = np.float32)#创建的时候声明数据类型
print(arr19)
print(arr19.dtype)
arr19[0] = 1.2#创建的时候已经定义好了是32位的浮点型,可以放入1.4
print(arr19)


#生成随机数
print(np.random.random(10))#五约束条件下的随机数
print('#')
print(np.random.rand(10))#0 到 1之间均匀分布的十个数
print('#')
print(np.random.rand(3,4))#生成指定shape(3行4列)的均匀分布的随机数
print('#')
print(np.random.randn(10))#服从正态分布的十个数
print('#')
print(np.random.randn(2,2,4))#4列2行2层,三维结构,正态分布S
print('#')


#数组索引
arr11 = np.array([0.3,0.78,0.24,5,3.2])
print(arr11)
print(arr11[0])
print(arr11[-5])
#一维数组多个元素索引,也叫切片
print(arr11[0:6])#左闭右开取值
print(arr11[-5:])#逆向取到最后一位不能是0,只能是空着

resl = arr11[3]
res2 = arr11[3:4]
print(resl,type(resl),resl.shape)#就是具体的元素
print(res2,type(resl),res2.shape)#切片,保留了原数据的结构


#逻辑性索引
arr2 = np.array([2.3,1.8,4.5])
print(arr2)
print(arr2[[False,False,True]])#逻辑位置,ture的返回,false不返回
print(arr2 > 2)
index = arr2 > 2
print(arr2[index])


#多维数组的索引
arr3 = np.arange(1,13).reshape([3,4])
print(arr3)
print(arr3[2,3])#开始数字不是1是从0开始的,3行4列

print(arr3[2,0:])#第3行的所有元素,前面的2是一个具体的索引,所以返回的是一个一位数组
print(arr3[2:,:])#是两个切片返回一个二维的数组

print(arr3[:,0])#第1列的所有元素
print(arr3[1:3,1:3])#左闭右开区间

print(arr3[:,0] > 4)
print(arr3[arr3[:,0] > 4,:])#4后面加不加,:都一样



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值