数据分析之numpy常用知识点、难点梳理

一、与random有关的一些函数的区别,首先导入numpy
	import numpy as np
  1. np.random.randint(low, high=None, size=None, dtype=‘l’)
    从low到high的范围随机取整数填充多维数组, size用于指定数组的形状,dtype默认为长整型
  2. np.random.random(size=None)
    函数随机生成0到1的随机数 [0,1) 填充数组,size指定多维数组的形状
  3. np.random.randn(d0, d1, …, dn)
    产生以0为中心 方差为1 的 标准正太分布 的随机数 填充数组, 传入几个参数,就创建几维数组
  4. np.random.normal(loc=0.0, scale=1.0, size=None)
    normal是可以指定中心和方差的一般正态分布
    loc 指明 正态分布的中心
    scale 指明正态分布的变化范围
  5. np.arange([start, ]stop, [step, ]dtype=None)
    从start,到end,每隔step取一个值,放入数组
    step为几就隔几个取一个值,默认为1
    start和step可以省略
二、numpy整数数组形式的索引与切片
nd = np.random.randint(0,10,size=(5,6))
nd
array([[1, 2, 1, 9, 4, 0],
       [0, 3, 4, 6, 6, 5],
       [4, 3, 6, 4, 3, 4],
       [7, 9, 6, 5, 9, 9],
       [8, 5, 7, 1, 0, 7]])

顺序任意 可以正向取 也可以反向取 可以任意取 而且可以重复取

nd[[1,2],1]
array([3, 3])
nd[-1,[0,2,4]]
array([8, 7, 0])
nd[-1,[2,4,0,0,0,0]]
array([7, 0, 8, 8, 8, 8])
nd[[2,4],[1,3]]
array([3, 1])

切片是 从外往里 一级一级切

nd[:,0:2]
array([[1, 2],
       [0, 3],
       [4, 3],
       [7, 9],
       [8, 5]])
nd[1:3,1:-1]
array([[3, 4, 6, 6],
       [3, 6, 4, 3]])
三、numpy级联

np.concatenate((a1, a2, …), axis=0, out=None)
axis参数改变连结的方向, 默认为0,即纵向拼接

nd = np.random.randint(0,10,size=(4,5))  
nd
array([[9, 6, 6, 7, 0],
       [3, 2, 7, 5, 6],
       [1, 8, 5, 9, 9],
       [9, 6, 4, 0, 3]])
np.concatenate((nd,nd),axis=0)  #  或者np.concatenate((nd,nd),axis=-2)
array([[9, 6, 6, 7, 0],
       [3, 2, 7, 5, 6],
       [1, 8, 5, 9, 9],
       [9, 6, 4, 0, 3],
       [9, 6, 6, 7, 0],
       [3, 2, 7, 5, 6],
       [1, 8, 5, 9, 9],
       [9, 6, 4, 0, 3]])
 np.concatenate((nd,nd),axis=1)  # 或者np.concatenate((nd,nd),axis=-1)
 array([[9, 6, 6, 7, 0, 9, 6, 6, 7, 0],
       [3, 2, 7, 5, 6, 3, 2, 7, 5, 6],
       [1, 8, 5, 9, 9, 1, 8, 5, 9, 9],
       [9, 6, 4, 0, 3, 9, 6, 4, 0, 3]])
四、ndarry的聚合操作
  1. 只要有ture就返回true
    np.any(nd,axis=0)

  2. 是否都是True
    np.all(nd,axis=0)

  3. np.argwhere()

    # 使用argwhere 可以按照值去找 元素的索引 # 使用argwhere 可以按照		      值去找 元素的索引
    np.argwhere(nd==9)
    # np.argwhere(nd==1)
    # np.argwhere(nd>6)
    # argwhere本身是用来找 值不是0的元素的索引的
    nd
    array([[9, 2, 2],
           [7, 7, 0],
           [1, 4, 6]])
    nd=9
    array([[ True, False, False],
    	   [False, False, False],
    	   [False, False, False]])
    
五、广播机制

对应项相加,不足的部分自动补全

m = np.ones((2, 3))
m
array([[1., 1., 1.],
       [1., 1., 1.]])

a = np.arange(1,4,1) 
a
array([1, 2, 3])

m + a
array([[2., 3., 4.],
       [2., 3., 4.]])
### 数据科学基础期末考试复习指南 #### 一、复习资料的选择与利用 对于数据科学基础课程的复习,优质的参考资料至关重要。可以从官方教材出发,深入理解核心概念和理论框架[^1]。此外,在线资源如Coursera、edX等平台上的公开课程也提供了丰富的学习材料。 #### 二、考点总结 针对该门课的重点内容进行梳理: - **统计学基础知识**:掌握概率分布、假设检验等基本原理。 - **编程技能**:熟练运用Python/R语言完成数据分析任务;了解常用库如Pandas, Numpy等的功能特性。 - **机器学习入门**:熟悉监督式与非监督式的分类方法及其应用场景。 - **可视化工具的应用**:能够使用Matplotlib/seaborn绘制图表展示数据特征。 - **项目实践能力培养**:通过实际案例操作加深对知识点的理解并提高解决问题的能力。 #### 三、往年试题解析 研究历年真题有助于把握命题规律和发展趋势。建议收集至少近五年的试卷样本,按照章节顺序逐一攻克难点问题。注意对比不同年度间相同主题下的变化情况,这往往暗示着考察侧重点转移的方向[^2]。 ```python import pandas as pd from sklearn.model_selection import train_test_split # 加载历史考卷数据集 data = pd.read_csv('past_exam_questions.csv') # 划分训练集与测试集用于模拟练习 train_set, test_set = train_test_split(data, test_size=0.3) print(f'训练集大小:{len(train_set)}, 测试集大小:{len(test_set)}') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值