美文网首页
【学习笔记】Numpy、Pandas函数

【学习笔记】Numpy、Pandas函数

作者: 是枯木呀 | 来源:发表于2020-11-25 19:37 被阅读0次

    Numpy 函数


    np.clip(a, a_min, a_max, out=None)
    作用:裁剪一个数组的值。给定一个区间,在区间外的值会被裁剪掉。例如,给定一个区间[0,1],小于0的值会变成0,大于1的值会变成1。

    1. 参数解释:
      a - 要被裁剪的数组。
      a_min - 裁剪范围的最小值。
      a_max - 裁剪范围的最大值。
      out - 数组,存放被裁后的数据。
    2. 例子
    a = [0,1,2,3,4,5]
    b = np.clip(a, 2, 4)
    print(b)
    

    运行结果:
    [2, 2, 2, 3, 4, 4]


    np.zeros_like(a, dtype=None, order='K', subok=True, shape=None)
    作用:构造一个和给定数组形状和类型相同的零数组。

    1. 返回:
      out - 返回一个零数组out,该数组和给定的数组a有一样的形状和类型。

    2. 参数解释:
      a - 类数组。a和形状和数据类型定义了返回数组的相同属性
      dtype - 数据类型,可选参数
      order - 覆盖结果的内存布局。取值范围为{'C', 'F', 'K'} 可选参数
      subok - 类型为bool值,可选参数,默认为True。True表示新建的数组将使用a的子类类型,False表示是一个基类数组。
      shape - 覆盖结果的形状。类型为int 或int序列,可选参数

    3. 例子

    # 构造一个零数组,形状和a矩阵相同、数据类型为bool,默认为False
    a = [0,1,2,3,4,5]
    mask = np.zeros_like(a, dtype=np.bool) 
    print(mask)
    

    运行结果:
    [False False False False False False]


    numpy.triu_indices_from(arr, k=0)
    作用:求一个方阵(类型为数组)的上三角矩阵的索引

    1. 返回:返回方阵的上三角矩阵的索引
      triu_indices_from - 元组,数据类型是两个N阶的数组,

    2. 参数解释:
      arr - 数组。形状是 NxN 的方阵
      k - 对角线偏移。数据类型是int, 可选参数。

    3. 例子

    a = [[1,2,3],[4,5,6],[7,8,9]]     # a是一个3x3的方阵
    mask = np.zeros_like(a, dtype=np.bool)     # 构造一个形状和a矩阵相同的零矩阵
    mask[np.triu_indices_from(mask)] = True     # 把零矩阵的上三角矩阵置为True
    print(mask)
    

    运行结果:
    [[ True True True]
    [False True True]
    [False False True]]

    pandas 函数


    pandas.cut(x, bins, rigth=True, labels=None, retbins=False,
    precision=3, include_lowest=False, duplicates='raise')
    作用:把一组数据分割成离散的区间,并打上标签

    1. 返回:
      out - 一个pandas.Categorical, Series或者ndarray类型的值,代表分区后的每个值在哪个bin(区间)中,如果指定了labels,则返回对应的label。
      bins - 分割后的区间,当指定retbins=True时返回。
    2. 参数解释:
      x - 被切分的类数组(array-like)数据,必须是1维的(不能用DataFrame)
      bins - 被切分后的区间
      right - 是否包含区间右部,默认为True
      labels - 给分割后的bins打标签
      retbins - 是否将分割后的bins返回,默认为False
      precision - 保留区间小数点的位数,默认为3
      include_lowest - 表示区间的左边是开还是闭得,默认为False
      duplicates - 是否允许重复区间。有两种选择:raise(不允许),drop(允许)
    3. 例子
    a = [1,2,4,5,8,15,20]
    # bins将区间(0,45]分成3个小区间。总区间不包括左端点0,包括右端点45。
    # 然后将[0,4]标记为'dry',将(4,12]标记为'medium dry,将(12,45]标记为'semi-sweet'。
    b = pd.cut(a, bins=[0, 4, 12, 45], labels=['dry', 'medium dry', 'semi-sweet'])
    print(b)
    

    运行结果:
    [dry, dry, dry, medium dry, medium dry, semi-sweet, semi-sweet]


    pandas.DataFrame.corr(method='pearson', min_period=1)
    作用: 计算列的协相关性,不包括空值

    1. 返回:返回一个相关矩阵,类型为 DataFrame

    2. 参数解释:
      method: 参数可选{'pearson', 'kendall', 'spearman'} 或者 callable。

      • 'pearson' - 标准相关系数
      • 'kendall' - Kendall Tau相关系数
      • 'spearman' - 斯皮尔曼等级相关
      • callable - 可通过输入两个一维数组调用

      min_period:类型为 int, 可选参数
      列的每对具有最小观察结果数。目前仅适用于pearson和spearman相关

    3. 例子

    df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)], 
                      columns=['dogs', 'cats'])
    mcorr = df.corr()
    print(mcorr)
    

    运行结果:

              dogs      cats
    dogs  1.000000 -0.851064
    cats -0.851064  1.000000
    

    pd.set_option(pat, value)
    作用:设置数据输出精度

    1. 无返回
    2. 参数解释:
      pat - 当 pat='precision' 时,设置数据输出的精度。
      value - 数据显示几位小数。
    3. 例子
    # 数据print输出s精度
    pd.set_option('precision', 3)
    

    matplotlib 函数


    plt.legend(labels, loc, fontsize)
    作用:为图添加图例。

    参数解释:
    labels - 设置图例的标签。
    loc - 设置图例的位置。
    类型为int(0-10)或者{‘best', 'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', lower center', 'upper center', 'center'}
    fontsize - 设置图例大小。类型为int或者{'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}


    plt.colorbar(mappable=None, cax=None, ax=None, **kw))
    作用:为图添加颜色条

    参数解释:
    mappable - 以图作为对象。要显示哪个图中的颜色,传入哪个图的对象。


    画直方图Histogram
    plt.hist(x, bins=10, range=None, normed=False, weights=None,
    cumulative=False, bottom=None, histtype='bar', align='mid',
    orientation='vertical', rwidth=None, log=False, color=None,

    label=None, stacked=False)

    1. 参数解释:
      x - 绘制直方图x轴的数据
      bins - 直方图条形的个数
      range - 直方图数据的上下界,默认包含数据的最大值和最小值
      normed - 是否将直方图的频数转换成频率
      weights - 为每个数据点设置权重
      cumulative - 是否需要计算累计频数或频率
      bottom - 可为直方图的每个条形添加基准线,默认为10
      histtype - 直方图的类型,默认为bar,还有barstacked、step、stepfilled
      align - 设置条形边界值的对齐方式,默认为mid,还有left和right
      orientation - 合作直方图的摆放方式,默认为垂直方向
      rwidth - 设置直方图条形的宽度
      log - 是否需要对数据进行log变换
      color - 设置直方图的填充色
      edgecolor - 设置直方图边框色
      label - 设置直方图的标签,可通过legend展示其图例
      stacked - 当有多个数据时,是否需要将直方图堆叠摆放,默认水平摆放
    2. 例子
    plt.figure(figsize=(6,3))   # 设置图表大小
    
    bins = 10**(np.linspace(0,2))   # 直方图条形个数
    plt.hist(data['fixed acidity'], bins=bins, 
             edgecolor='k',     # 设置边缘线条颜色为黑色
             label='Fixed Acidity')    # 设置图表图例标签
    
    plt.title('Histogram of Acid Concentration')    # 设置图表标题
    plt.xscale('log')     # 设置x轴的数量级
    plt.xlabel('Acid Concentrain (g/dm^3)')    # 设置x轴的标签
    plt.ylabel('Frequency')    ## 设置y轴的标签
    plt.legend()     # 显示图例
    plt.tight_layout()    # 图表的布局紧凑
    

    运行结果:


    histogram.png

    相关文章

      网友评论

          本文标题:【学习笔记】Numpy、Pandas函数

          本文链接:https://www.haomeiwen.com/subject/hbzcbktx.html