【学习笔记】Numpy、Pandas函数

2020-11-25  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读