数据挖掘2

numpy学习(处理数字性数据)

1.np.array()把内容变成数组

2.t1.dtype可以显示其类型

3.np.astype可以把类型改变

4.保存固定位的小数

np.round(range(10),3)
###数组的计算

np.shape()只有一个值是一维的,指的是有多少个元素

两个值,二维,指几行几列

三个值,三维

np.reshape((3,4))把什么变成三行四列形式


import numpy as np
t1=np.arange(32).reshape((2,4,4))
print(t1)

t1.flatten()可以快速把数据按顺序变成二维的

1.广播机制:数组与数字直接运算

2.特例:t1/0 :0/0=nan,数字/0=inf

3.数组与数组计算,长度相同时,按维度依次计算

numpy读取本地数据

numpy读取数据

np.loadtxt(fname,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
在这里插入图片描述
#np中更多的索引方式
np.where(t<10,0,10)#numpy三元运算符

如果t<10,则为0,否则为10

np.clip(10,18)#numpy的裁剪

数组的拼接

#竖直拼接

np.vstack((t1,t2))

#水平拼接

np.hstack((t1,t2))

#行交换

t[[1,2],:]=t[[2,1],:]

#列交换

t[:,[0,2]]=t[:,[2,0]]

numpy好用的方法

1.获得最大值最小值的位置

np.argmax(t,axis=0)

np.argmin(t.axis=1)

2.创建一个全为0的数组:np.zeros((3,4))

3.创建一个全为1的数组:np.ones((3,4))

4.创建一个对角线为1的正方形数组(方阵):

np,eye(3)

numpy生成随机数

在这里插入图片描述

numpy中的nan和inf

1.当本地文件为float的时候,有缺失时,会出现nan

或者做义工不适合的计算时

2.inf表示正无穷,-inf是负无穷

numpy

1.求和:np.sum(t3,axis=0)是计算行上的结果

axis=1是计算列上的结果

import numpy as np

t1=np.arange(12).reshape((3,4))

print(t1)

a=np.sum(t1,axis=0)
print(a)
b=np.sum(t1,axis=1)
print(b)

输出结果:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[12 15 18 21]
[ 6 22 38]

2.均值:np.mean(t,axis=0)

3.中值:np.median(t3,axis=0)

4.最大值:np.max(axis=0)

5.最小值:np.min(axis=0)

6.极值:np.ptp(t3,axis=0)

7.标准差:np.std(axis=0)

标准差反应数据的波动情况,越大则越分散

nan的填充

import numpy as np


def sum_nan(b):
    for i in range(b.shape[1]):#遍历每一列
        a=b[:,i]#当前的一列
        nan_num=np.count_nonzero(a!=a)
        if nan_num!=0:#说明该列有nan存在
            a_not_nan=a[a==a]#输出当前一列不为nan的值
            a[np.isnan(a)]=a_not_nan.mean()#把该列为nan的值,赋值为不为nan的平均值
    return b

if __name__=='__main__':
    t1=np.arange(12).reshape((3,4)).astype("float")

    t1[1,2:]=np.nan
    print(t1)
    print(sum_nan(t1))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值