数据分析----numpy

数据分析—numpy

import pandas as pd
import numpy as np

创建普通数组

a = np.array([1,2,3])
b = np.array([[1,2,3],[4,5,6],[7,8,9]])
b[1,1] = 10
print(a.shape)
print(b.shape)
print(a.dtype)
print(b)
(3,)    (3, 3)    int64    [[1 2 3]     [4 5 6]     [7 8 9]]

创建结构数组

personalType = np.dtype({    'names':'name','age','chinese','math','english'],    
'formats':['S25','i','i','i','f']})
students = np.array([("huzai",22,99,99,99.5),("huzai",22,99,99,99.5)],dtype=personalType)
age = students[:]['age']
print(np.mean(age))
22.0
print(students)
[(b'huzai', 22, 99, 99, 99.5) (b'huzai', 22, 99, 99, 99.5)]

创建连续数组

x1 = np.arange(1,11,2) #步长为2,从1开始的等差数组(不包括终值)
x2 = np.linspace(1,9,5) #将1-9分成5块,结果如上
print(x1)
print(x2)
[1 3 5 7 9]    [1. 3. 5. 7. 9.]

数组间的算数运算

print(np.add(x1,x2))
print(np.subtract(x1,x2))
print(np.multiply(x1,x2))
print(np.divide(x1,x2))
[ 2.  6. 10. 14. 18.]  
[0. 0. 0. 0. 0.] 
[ 1.  9. 25. 49. 81.]   
[1. 1. 1. 1. 1.]

统计函数

数组中的最值 np.amin() amax()

a = np.array([[1,3,7],[2,5,8],[6,4,9]])
print(np.amin(a))
print(np.amin(a,0)) #每一列的最小值print(np.amin(a,1)) #每行的最小值
1    [1 3 7]    [1 2 4]

统计最大值与最小值之差 ptp()

print(np.ptp(a))
print(np.ptp(a,0)) #每列最大值与最小值的差print(np.ptp(a,1)) #每行最大值与最小值的差
8    [5 2 2]    [6 6 5]

统计数组的百分位数 percentile(a, p, axis) a:数组名 p 代表百分比 axis代表是行还是列

print(np.percentile(a,50))
print(np.percentile(a,50,0))
print(np.percentile(a,50,1))
5.0    [2. 4. 8.]    [3. 5. 6.]

统计数组中的中位数以及平均数 median() mean()

print(np.median(a))
print(np.median(a,0))
print(np.median(a,1))
5.0    [2. 4. 8.]    [3. 5. 6.]

数组中的加权平均值 average(a,weights)

b = np.array([1,2,3,4])
wts = np.array([1,2,3,4])
print(np.average(b))
print(np.average(b,weights=wts))
2.5    3.0

统计数组中的标准差(std())与方差(var())

print(np.std(b))
print(np.var(b))
1.118033988749895    1.25

Numpy排序

print(a)
print(np.sort(a))
print(np.sort(a,0))
[[1 3 7]     [2 5 8]     [6 4 9]]    [[1 3 7]     [2 5 8]     [4 6 9]]    [[1 3 7]     [2 4 8]     [6 5 9]]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值