当前位置: 首页 > news >正文

Python核心语法-Numpy、Pandas - 努力-

一、Jupyter

Jupyter 是一个开源的交互式计算环境,广泛应用于数据科学、机器学习、科学研究等领域,主要组件有Jupyter Notebook和Jupyter Lab。JupyterLab作为Jupyter Notebook 的继承者,提供了更现代化和功能丰富的界面。JupyterLab的多文档界面、内置协作功能和扩展系统使其成为数据科学家和研究人员的首选。

1.1 使用Jupyter

conda 命令:
命令提示符中输入:jupyter lab或jupyter notebook

jupyter lab

新建notebook:

1.2 PyCharm中使用Jupyter

设置conda环境,新建Jupyter notebook:运行

在这里插入图片描述

二、numpy

2.1 什么是numpy

numpy是Python中科学计算的基础包。它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/O 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。
numpy的部分功能如下:

  • ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。
  • 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。
  • 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。
  • 线性代数、随机数生成以及傅里叶变换功能。
  • 用于集成由C、C++、Fortran等语言编写的代码的API。

2.2 Numpy array属性

安装numpy库

import numpy as np  # 导入numpya = np.array([[1, 2, 3], [4, 5, 6]])  # 创建一个二维数组
print(a)
print(a.ndim)  # 维度  (2, 3)
print(a.shape)  # 形状  int64
print(a.size)  # 元素个数 6
print(a.dtype)  # 数据类型 2
print(a.itemsize)  # 每个元素字节数大小 8
print(type(arr)) #  # 每个元素字节数大小 <class 'numpy.ndarray'>

2.3 Numpy array创建方式

array():将输入数据转换为ndarray,会进行copy。
asarray():将输入数据转换为ndarray,如果输入本身是ndarray则不会进行copy。


import numpy as npdata = [1,2,3]
print(f"元数据地址为:{id(data)}")
arr = np.array(data)
print(f"arr1地址为:{id(arr)}")
print(f"arr1数组数据为:{arr}")# print("-" * 20)
arr2 = np.array(arr)
print(f"arr2地址为:{id(arr2)}")
print(f"arr2数组数据为:{arr2}")# print("-" * 20)
arr3 = np.asarray(arr)
print(f"arr3地址为:{id(arr3)}")
print(f"arr3数组数据为:{arr3}")arr4 = np.zeros((2, 5))  # 创建全0数组
# [[0. 0. 0. 0. 0.]
#  [0. 0. 0. 0. 0.]]print(f"arr4数组数据为:{arr4}")

三、pandas

3.1 pandas

Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。
Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。
Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。
用得最多的pandas对象是Series,一个一维的标签化数组对象,另一个是DataFrame,它是一个面向列的二维表结构。

3.2 Pandas数据结构-Series

Series 是 Pandas 中的一个核心数据结构,类似于一个一维的数组,具有数据和索引。
Series 可以存储任何数据类型(整数、浮点数、字符串等),并通过标签(索引)来访问元素。Series 的数据结构是非常有用的,因为它可以处理各种数据类型,同时保持了高效的数据操作能力,比如可以通过标签来快速访问和操作数据。

1)Series 特点:

  • 一维数组:Series 中的每个元素都有一个对应的索引值。
  • 索引: 每个数据元素都可以通过标签(索引)来访问,默认情况下索引是从 0 开始的整数,但你也可以自定义索引。
  • 数据类型: Series 可以容纳不同数据类型的元素,包括整数、浮点数、字符串、Python 对象等。
  • 大小不变性:Series 的大小在创建后是不变的,但可以通过某些操作(如 append 或 delete)来改变。
  • 操作:Series 支持各种操作,如数学运算、统计分析、字符串处理等。
  • 缺失数据:Series 可以包含缺失数据,Pandas 使用NaN(Not a Number)来表示缺失或无值。
  • 自动对齐:当对多个 Series 进行运算时,Pandas 会自动根据索引对齐数据,这使得数据处理更加高效。

我们可以使用 Pandas 库来创建一个 Series 对象,并且可以为其指定索引(Index)、名称(Name)以及值(Values):

Series的创建:
安装pandas库;

import pandas as pd# 直接通过列表创建Series
s = pd.Series([1,2,3,4])# 通过列表创建Series时指定索引
s = pd.Series(data = [1,2,3,4],index = ['a','b','c','d'])# 通过列表创建Series时指定索引和名称
s = pd.Series([1,2,3,4],index = ['a','e','c','d'],name = 'Series_name')# 通过字典创建Series对象
dict = {"a":1,"g":2,"c":3,"d":4}
s = pd.Series(dict,name = 'Series_name')

Series的常用属性:

3.3 Pandas数据结构-DataFrame

DataFrame是Pandas 中的另一个核心数据结构,类似于一个二维的表格或数据库中的数据表。它是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值),既有行索引也有列索引。
DataFrame中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。它可以被看做由Series组成的字典(共同用一个索引)。提供了各种功能来进行数据访问、筛选、分割、合并、重塑、聚合以及转换等操作,广泛用于数据分析、清洗、转换、可视化等任务。

DataFrame的创建:
安装pandas库
1)直接通过字典创建DataFrame

import pandas as pd
df = pd.DataFrame({"id": [101, 102, 103], "name": ["张三", "李四", "王五"], "age": [20, 30, 40]})id_series = pd.Series([1,2,3])
name_series = pd.Series(['zs','ls','ww'])
age_series = pd.Series([22,33,25])df = pd.DataFrame({"id":id_series, "name":name_series, "age":age_series})df = pd.DataFrame({"id": [1001, 1002, 1003], "name": ["张三", "李四", "王王"], "age": [20, 30, 30]})
print(df)

2)通过字典创建时指定列的顺序和行索引


df = pd.DataFrame({"name": ["张三", "李四", "王王"], "age": [20, 30, 30]},index=[1001,1002,1003],columns=["age","name"])
print(df)

DataFrame的常用属性:

http://www.jsqmd.com/news/389768/

相关文章:

  • 综述不会写?万众偏爱的AI论文网站 —— 千笔AI
  • 基于YOLO11-EfficientViT的辉长岩及其相关岩石类型计算机视觉识别分类系统_1
  • 毕业论文神器!降AI率平台 千笔·降AI率助手 VS Checkjie MBA专属利器
  • 照着用就行:千笔ai写作,人气爆表的一键生成论文工具
  • Flowise 自定义MCP节点远程代码执行漏洞 (CVE-2025-59528) 分析
  • 2026别错过!降AI率软件 千笔·专业降AIGC智能体 VS 知文AI,MBA专属高效之选
  • 对比一圈后,更贴合本科生的AI论文工具,千笔·专业论文写作工具 VS 灵感ai
  • OpenCode 里的 Atlas / Sisyphus / Prometheus区别
  • 真的太省时间!千笔·专业论文写作工具,领军级的AI论文网站
  • 热烈庆祝Ctorch RC1发布! - Ghost
  • Prettier深度解析
  • iPaaS平台:企业数字化转型的核心基础设施
  • 一文讲透|AI论文软件 千笔AI VS 灵感风暴AI,本科生必备神器!
  • 2025年国内评价高的库房货架供应厂家排行榜,贯通式货架/驶入式货架/轻型货架/贯通货架,库房货架供应厂家排名 - 品牌推荐师
  • Babel深度解析
  • Go内存管理与性能优化深度指南:从GC原理到pprof实战
  • 2026常州市信誉好的口播视频智能体搭建平台
  • 2026江苏省口播视频智能体搭建服务商推荐排行
  • 选择大件物流公司:从用户评价看这几家厂家的服务,大件物流/大件运输,大件物流服务商有哪些 - 品牌推荐师
  • python基于敏捷开发的项目任务分配管理系统
  • python基于大数据的起点小说网数据的文本分析可视化系统
  • 干货合集:8个降AI率平台测评,专科生必看的降AI率攻略
  • python基于大数据驱动的旅游行程规划系统 可视化
  • 赶deadline必备! 9个降AI率网站深度测评与推荐
  • 强烈安利! 一键生成论文工具,继续教育专属,千笔·专业学术智能体 VS PaperRed
  • 详细介绍:K-Means 聚类的目标函数:簇内误差平方和
  • K均值聚类方法求解风电功率聚类以及基于拉丁方抽样的样本削减和场景分析MATLAB代码
  • 基于Simulink的稳定频差分析:光锁相环系统性能仿真研究
  • 直接上结论:千笔·专业降AI率智能体,专科生论文降重首选
  • 摆脱论文困扰! 8个AI论文工具测评:本科生毕业论文+科研写作全攻略