Python数据分析与展示2

本文介绍了使用numpy操作CSV文件的存储与读取技巧,包括矩阵格式转换,并讲解了随机数生成、随机种子设置及随机选择的原理。此外,还涉及了统计函数的应用,如数组元素求和。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CSV文件的存储

直接上代码,这种文件存储,无论是什么文件的存储,都是格式问题,可能重点在数据类型和保存的样式:

a = np.arange(12).reshape(3, 4)#生成3*4的矩阵
np.savetxt('a.csv', a, fmt="%d", delimiter=',')#进行矩阵的存储,和该项目放在一起
np.loadtxt('第2讲/a.csv', dtype=int, delimiter=',')#进行矩阵的读出
np.loadtxt('第2讲/a.csv', dtype=int, delimiter=',', unpack=True)#进行逆向输出

随机种子

生成随机数很容易,但有时候我们只想让他随机一次,之后把生成的这个随机数给固定住,这个时候就要用到随机数种子了。

np.random.seed(0)#随机种子,随机完之后就不会再变了。
a = np.random.randint(0, 10)#在0-9中随机生成一个数字
b = np.random.randint(0, 10)
c = np.random.randint(0, 10)
d = np.random.randint(0, 10)
np.random.seed(0)
e = np.random.randint(0, 10)
f = np.random.randint(0, 10)
g = np.random.randint(0, 10)
h = np.random.randint(0, 10)
y = np.random.randint(0, 10)#注意观察e,f,g,h和前面的数据有什么规律。思考一下如何让y也有这种规格呢?
a, b, c, d,e,f,g,h,y

随机数的选择

这个随机选择不是特别理解,感觉用处不大,只能采用大数优先输出的概率来进行choice,不太科学,应该还有其它办法进行指定概率输出。

# https://blog.youkuaiyun.com/elephant_my/article/details/115613692
# numpy.random.choice(a, size=None, replace=True, p=None)
# 参数p:a中每个元素采样的概率
a = np.random.randint(0, 100, (10))
a, np.random.choice(a, (20), p=/np.sum(a)) #a/np.sum(a)
# a必须是1维数据

统计函数

进行并列元素之间的指定相加操作,可能有利于高级数学统计,目前不知道实际用在哪里。

a = np.arange(24).reshape(2, 3, 4)
np.sum(a)#a矩阵所有元素之和
a.shape, np.sum(a, axis=0)#axis=0其实就是最大的元素之间进行相加操作,算是并联的每一项进行相加操作。
a.shape, np.sum(a, axis=1)#axis=1算是第二大项之间进行相加操作
#稍微难一点的扩展操作,其实无非数组维数更多了一些,axis中对应的数字也可以更多一些了。
data = np.random.randint(0, 5, [2,3,4,5])#这个可以理解为2个大部分,再3个第二大部分,最后的4,5就类似于矩阵的行和列了,当然如果把矩阵本身看成数字的话,前两个本身也是矩阵。
data, np.sum(data, axis=0), data.shape, np.sum(data, axis=0)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值