np.newaxis的用法、np.newaxis的用法、 fit,norm,hist的使用、get_dummies ()用法

文章目录



一、np.newaxis的用法

np.newaxis的作用就是在这一位置增加一个一维,这一位置指的是np.newaxis所在的位置,比较抽象。我们举一个例子:

array=np.random.rand(3,4)

array

输出为:

array([[0.8673345 , 0.87058519, 0.20251628, 0.72928923],
       [0.4078268 , 0.6191882 , 0.97035328, 0.82620661],
       [0.42866612, 0.22471408, 0.96583487, 0.0179457 ]])

对其进行增加维度操作:

array_axis=array[:,np.newaxis]
array_axis

输出为:

array([[[0.8673345 , 0.87058519, 0.20251628, 0.72928923]],

       [[0.4078268 , 0.6191882 , 0.97035328, 0.82620661]],

       [[0.42866612, 0.22471408, 0.96583487, 0.0179457 ]]])



二、np.argsort的用法

功能: 将矩阵a按照axis排序,并返回排序后的下标
参数: a:输入矩阵, axis:需要排序的维度
返回值: 输出排序后的下标

import numpy as np
x = np.array([3,2,5,-1,0,-2])
x.argsort()

输出:

array([5, 3, 4, 1, 0, 2], dtype=int64)

 三、正态分布图的使用

我们假设有10个随机数

x=np.random.randn(100)
x

输出:

array([-2.19357637,  1.03864796, -0.95104507, -0.1690344 ,  0.29648262,
       -0.7640752 ,  0.15905589,  2.07249912,  0.70312816,  0.80070306,
        1.29612653, -2.63874574, -0.26189042,  2.12564216,  0.56861835,
       -0.18943274, -0.75601323,  1.38344496, -0.50702103, -0.22910088,
        0.20479167, -0.61120173, -0.20090225,  1.43568298,  2.61950641,
        0.09446892, -0.07709098,  0.2491735 , -0.80481997,  0.58523034,
        1.16017998,  0.4407353 , -0.71009153,  0.55810077,  0.05271944,
        0.43614988, -1.21586415, -1.17084382, -0.58393395,  0.55245063,
        0.56418961,  0.57940085,  0.40388583,  0.34791926, -0.27173782,
        0.59384357,  0.77583612,  1.79353976,  0.0375357 , -1.16605167,
        1.13151166, -0.09720373, -1.24091957, -0.93924176, -0.30345863,
        0.69050871, -1.46066651, -1.49576727,  0.14752057,  1.65639365,
       -0.49901977, -2.7017122 ,  0.65861852, -0.58167033,  0.07877699,
        1.41603824,  1.68265432, -0.48303618, -0.63860605,  0.56478839,
       -1.1148248 , -0.17799165, -2.0899294 ,  1.03159286, -0.25805355,
        1.53186054,  0.4414223 , -0.86584869, -0.18172099, -0.59000996,
        1.02228194, -0.67097503, -0.738751  , -0.69504748,  0.19968444,
       -0.1421462 , -0.1564683 , -0.25207852, -0.14746825, -0.11764128,
        0.50018846, -0.55975806,  1.31112595,  1.03395372,  0.82508084,
        1.44772972,  1.25995543,  0.99525077,  0.00513235,  0.24114059])

先简单处理一下 

sns.distplot(x)

输出为:

 我们对参数进行调节,首先是fit:

#fit:控制拟合的参数分布图形,能够直观地评估它与观察数据的对应关系(黑色线条为确定的分布)
from scipy.stats import *
sns.distplot(x,hist=False,fit=norm) #拟合标准正态分布

 对比参数:

#通过hidt和kde参数调节是否显示直方图和核密度估计((默认hist,kde均为True)
fig,axes = plt.subplots(1,3) # 创建一个1行3列的图片
sns.distplot(x,ax=axes[0]) # ax=axex[0]表示该图片在整个画板中的位置
sns.distplot(x,hist=False,ax=axes[1])  #不显示直方图
sns.distplot(x,kde=False,ax=axes[2])  #不显示核密度

接下来进行对比,更加直观看出预测的变化趋势,检测是正态分布。

from scipy import stats
res = stats.probplot(x, plot=plt)

红色线条表示正态分布,蓝色线条表示样本数据,蓝色越接近红色参考线,说明越符合预期分布(这是是正态分布)

四、get_dummies ()用法

将离散型特征的每一种取值都看成一种状态,若你的这一特征中有N个不相同的取值,那么我们就可以将该特征抽象成N种不同的状态,one-hot编码保证了每一个取值只会使得一种状态处于“激活态”,也就是说这N种状态中只有一个状态位值为1,其他状态位都是0。

例子:

import pandas as pd
df = pd.DataFrame([  
            ['1' , 'A'],   
            ['2'   , 'B'],   
            ['3'  , 'A']])  
df

当我们进行get_dummies()操作后:

import pandas as pd
df = pd.DataFrame([  
            ['1' , 'A'],   
            ['2'   , 'B'],   
            ['3'  , 'A']])  
df.columns = ['num',  'class'] 
pd.get_dummies(df) 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进步小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值