推荐小白使用jupyter,超好用!
Jupyter使用小技巧:
- Esa +a上空行
- Enter +shift运行
- Tab键可展示需要的函数方式
- 退出编辑esc
知识点解释:
1、信息熵??entropy--表示信息含量的多少|数据复杂度;信息熵是信息论中用于度量信息量的一个概念。它也可以被看作是系统有序化程度的一个度量。在一个系统越是有序的时候,信息熵就越低;反之,一个系统越是混乱,信息熵就越高。
2、离群点??outlier—离群点(Outlier)指的是在数据分析或机器学习过程中,某个数据点明显偏离其他数据点的特征或行为,通常表现为与其他数据点相比非常小、非常大的或非常不同的值。离群点可能是由于数据错误、异常事件、测量误差、特定的数据特征或其他原因引起的。离群点可能会对数据分析或机器学习的结果产生负面影响,因此在进行数据分析或机器学习时需要检查和处理离群点。常见的处理离群点的方法包括:
- 删除离群点:对于一些非常小或非常大的离群点,可以将其直接删除,不参与后续的分析或建模。
- 缩放或标准化:对于一些数值范围过大的离群点,可以将其缩放到合适的范围,例如将所有的数据都缩放到0-1之间。
- 使用稳健的方法:稳健的方法可以减少离群点对结果的影响,例如使用中位数、众数等统计指标代替平均数,或者使用最小二乘法等稳健的机器学习方法代替普通的线性回归。
- 插值或平滑处理:对于一些离群点可以使用插值或平滑处理的方法将其处理为相邻数据点的平均值或其他更合理的值。
需要注意的是,不同的数据集和不同的分析任务可能需要使用不同的处理离群点的方法,具体需要根据实际情况进行选择。同时,在处理离群点时也需要注意不要破坏数据的原始特征和信息。
3、矩阵??Matrix--矩阵是数学中的一个概念,它是一个二维数组,由行(横向)和列(纵向)组成。每个元素都表示在行和列交叉处的数值。在矩阵中,行和列的数目可以不同,但通常在确定上下文中会明确指定行数和列数。矩阵在数学和应用领域中有广泛的应用,如线性代数、线性方程组、计算机图形学等。
代码例子解释:
1、##data_org = pd.read_excel(r'XXX')
##data = data_org.copy()
在Python中,'data_org.copy()'通常是在说创建一个'data_org'对象的完全独立的复制品。这个操作通常在处理如列表、字典、集合等数据类型时使用,当你想要保留原始数据不变,同时对数据进行某种修改时。注意,如果'data_org'是一个自定义的对象,那么这个对象需要有'copy'方法或者它应该实现了特殊的方法__copy__()以定义如何复制这个对象。
2、## DataFrame是一个简单的“数据矩阵”或“数据表”,是Spark中用于处理和分析数据的核心数据结构。与一般的表不同的是,DataFrame是分布式存储的,可以更好地利用现有的云数据平台,并在内存中运行。它可以看作是存储在不同节点计算机中的一张关系型数据表,分布式存储的最大好处是让数据在不同的工作节点上并行存储,以便在需要数据的时候并行运算,从而获得最迅捷的运行效率。对DataFrame进行操作只需要调用有限的数组方法即可。
3、##axis=1在Python的Pandas库中,axis=1表示按照列的方向进行操作。在统计类方法(如mean()、sum()等)中使用,表示对每一列进行计算;在drop()方法中使用,表示删除对应列标签(们)的列。Axis=0,表示对行进行操作。
4、##data_all.dropna(axis=1, how='all', inplace=True)
使用Pandas库的DataFrame对象的dropna
方法。这个方法用于删除包含缺失值的行或列。
在这段代码中,参数axis=1
表示操作的是列而非行。how='all'
表示只有当一列中所有的值都是缺失值时,才会删除该列。inplace=True表示这个操作会直接在原DataFrame上执行,而不是返回一个新的DataFrame。
所以整段代码的含义是:删除数据集中所有全为缺失值的列。
5、##print(data_all.shape)
用于获取DataFrame对象的形状,即行数和列数
6、test_data.shape
展示数据有多少行和列