Numpy和Pandas知识点总结

1.python常见的开源库介绍

1.1numpy

一个运行速度非常快的数学库,主要用于数组计算

1.2pandas

一个强大的“分析结构化数据”的工具集,底层依赖numpy

用于数据挖掘和数据分析,同时也提供数据清洗功能

pandas主要有两种数据结构:Series和Dataframe

Series 类似于一维数组,主要用于表示某行或者某列

Dataframe是pandas中一种表格型的数据结构

1.3Matplotlib

一个功能强大的数据可视化开源工具

python中使用最多的图形绘图库

1.4Seaborn

一个python数据可视化开源库,建立在Matplotlib之上

1.5Sklearn

基于python语言的机器学习工具,主要用于数据挖掘和数据分析

1.6 Jupyter Notebook

是进行数据分析学习和开发的首选开发环境

2.Numpy

2.1概述

numpy是python数据分析必不可少的第三方库

2.2Ndarray

numpy的数组类被称为ndarray,通常被称作数组

ndarray的属性有:

ndarray.ndim  数组是几维的

ndarry.shape  数组有几行几列

ndarray.size   数组中的元素个数

ndarray.dtype  数组中的元素类型

ndarray.itemsize  数组中每个元素的字节大小

运行代码

2.3创建ndarray数组

方式1:a=np.array([1,2,3,4,5])

方式2: a=ones((2,3)) /a=zeros((2,3))  创建全是1的数组或者全是0的数组

方式3: a=np.arange(10,20,2,dtype=int)  创建起点为10,终点为20,步长为2,数据类型为int的数组

2.4创建ndarray随机数组

以下的范围都是包左不包右

arr1=np.random.rand(2,3)   生成一个二行三列的数组,每个元素都是从0到1的小数

arr2=np.random.randint(1,5,size=(2,3))  生成一个二行三列的数组,每个元素都是从1到5的整数

arr3=np.random.uniform(1,5,size=(2,3))  生成一个二行三列的数组,每个元素都是从1到5的小数

2.5matrix函数

matrix函数用于创建二维数组

arr1=np.mat('1 2;3 4')

arr2=np.matrix('1,2;3,4')

arr3=np.matrix([[1,2,3],[4,5,6]])

2.6创建等比数组

arr1=np.logspace(1,3,5)  #创建从10到1000的等比数列,元素个数为5个

arr2=np.logspace(1,2,5,base=3,endpoint=True)#创建从3到9的等比数列,元素个数为5个并且包含9

2.7创建等差数列

arr1=np.linspace(1,5,3,endpoint=False) #创建从1到5的等差数组,不包含5,元素个数为3

2.8Numpy的数据类型转化

dtype  指定数据的类型

astype 转化数据的类型

arr1=np.array([1.2,1.3,1.4]ÿ

<think>嗯,用户让我介绍一下NumPyPandas的基础知识。首先,我需要确定用户可能的背景。可能是一个刚开始学习Python数据分析的新手,或者是有其他编程经验想转过来的人。他们可能想了解这两个的基本用途核心功能。 我应该先分开介绍每个,先讲NumPy,再讲Pandas,这样结构更清晰。NumPy主要处理数组数学运算,而Pandas专注于数据表格处理,比如数据清洗分析。需要强调两者的不同应用场景,但也要说明它们常常一起使用。 对于NumPy,得提到多维数组,特别是ndarray对象,这是它的核心。然后举几个例子,比如创建数组、基本运算、索引切片,还有广播机制。广播可能对新手来说有点难,需要简单解释一下,但不用太深入。 然后是Pandas,重点在SeriesDataFrame这两个数据结构。要说明Series是一维的,DataFrame是二维的,类似于Excel表格。然后常用的操作比如数据读取、处理缺失值、分组聚合,还有合并数据。这些功能是数据分析中经常用到的,用户可能对这些点感兴趣。 在举例的时候,要注意用正确的LaTeX格式。比如变量名、函数名用代码格式,数学公式用$符号包裹。比如创建数组的代码示例,np.array([1,2,3]),还有DataFrame的例子。同时,要确保代码部分用反引号标注,这样用户容易区分。 用户可能还想知道这两个为什么重要,可以提到性能优势,比如NumPy的底层是用C写的,处理大数据效率高。而Pandas提供了高级的数据操作接口,简化了数据处理流程。 需要检查是否覆盖了基础知识点,有没有遗漏的关键功能。比如NumPy的数学函数、随机数生成,Pandas的数据筛选、合并等。另外,要提醒安装方法,可能需要pip install numpy pandas,不过用户可能已经安装了,但提一下也无妨。 最后,总结两者的关系适用场景,帮助用户理解如何结合使用这两个。比如用NumPy进行数值计算,再用Pandas进行数据整理分析。这样结构比较完整,用户也能有一个清晰的学习路径。</think>好的,我将分步为您介绍NumPyPandas的基础知识: 一、NumPy基础(数值计算) $$ \text{核心数据结构:ndarray(N-dimensional array)} $$ 1. 核心特点: - 高性能多维数组运算 - 支持向量化操作(避免显式循环) - 提供数学函数(如线性代数、傅里叶变换等) - 底层用C实现,运算效率高 2. 常用操作示例: ```python import numpy as np # 创建数组 arr = np.array([1, 2, 3]) # 一维数组 matrix = np.array([[1,2], [3,4]]) # 二维数组 # 基本运算(满足$A_{ij} \pm B_{ij}$的逐元素运算) result = arr * 2 # 广播机制 dot_product = np.dot(matrix, matrix) # 矩阵乘法 # 索引切片 sub_arr = arr[1:3] # 获取索引1到2的元素 ``` 二、Pandas基础(数据分析) $$ \text{核心数据结构:Series(一维)DataFrame(二维)} $$ 1. 核心特点: - 表格型数据结构 - 强大的数据清洗处理能力 - 支持时间序列分析 - 灵活处理缺失数据 2. 常用操作示例: ```python import pandas as pd # 创建DataFrame df = pd.DataFrame({ 'A': [1, 2, 3], 'B': ['a', 'b', 'c'] }) # 数据操作 df['C'] = df['A'] * 2 # 新增列 filtered = df[df['A'] > 1] # 数据过滤 # 数据处理 df.dropna() # 删除缺失值 df.groupby('B').mean() # 分组聚合 ``` 三、关键对比 1. 数据维度: - NumPy主要处理多维数组($n \geq 1$) - Pandas擅长处理带标签的二维数据 2. 数据类型: - NumPy数组要求元素类型一致 - DataFrame允许不同列有不同的数据类型 3. 典型应用: - NumPy:科学计算、矩阵运算、图像处理 - Pandas:数据清洗、统计分析、时间序列 四、协同工作流程示例 $$ \text{DataFrame} \xrightarrow{\text{.values}} \text{ndarray} \xrightarrow{\text{np运算}} \text{处理结果} $$ ```python # 将DataFrame转换为NumPy数组 arr_from_df = df.values # 使用NumPy处理后再转回DataFrame processed_df = pd.DataFrame(np.log(arr_from_df + 1)) ``` 建议学习路径: 1. 先掌握NumPy的数组操作广播机制 2. 再学习Pandas的数据结构基本方法 3. 最后结合两者进行实际数据分析 这两个的组合构成了Python数据科学生态的基础,后续可进一步学习Matplotlib(可视化)Scikit-learn(机器学习)等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值