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

Pandas 学习(数学建模篇)

今天学习数学建模2023年C篇(228)优秀论文

2023高教社杯全国大学生数学建模竞赛C题论文展示(C228) - 2023C题论文 - 中国大学生在线

一.pd.DataFrame

pd.DataFrame() 是 pandas 库中用于创建二维表格数据结构(DataFrame)的核心函数。它的作用是将各种格式的数据(如字典、列表、Series 等)转换为带有行索引和列标签的表格形式,便于数据处理和分析.

import  pandas as pd
data={'单品编码': ['001', '002', '003'],'分类名称': ['水果', '蔬菜', '水果'],'价格': [5.0, 3.0, 8.0]}
#解读:{}为字典,{A:B}为字典里面的健值对。[a,b,c]为列表
print(pd.DataFrame(data))

输出:

 单品编码 分类名称   价格
0  001   水果  5.0
1  002   蔬菜  3.0
2  003   水果  8.0

二,mapping_dict =df_1.set_index('单品编码')['分类名称'].to_dict()代码解读

(一)df_1.set_index('单品编码') 这一步会把 DataFrame df_1 的索引设置为单品编码列,返回一个新的 DataFrame。

  • 示例:假设原 DataFrame 是:
       单品编码  分类名称   价格
    0  001    水果    5.0
    1  002    蔬菜    3.0
    2  003    水果    8.0

     执行后,变成:

       分类名称   价格
单品编码             
001     水果    5.0
002     蔬菜    3.0
003     水果    8.0

(二)['分类名称']

         这一步会从上面的 DataFrame 中选取分类名称列,返回一个 Series,其中单品编码是索引,分类名称是值。

单品编码
001    水果
002    蔬菜
003    水果
Name: 分类名称, dtype: object

(3)to_dict()

这一步会把 Series 转换为字典,其中索引(单品编码)会成为字典的键,值(分类名称)会成为字典的对应值

{'001': '水果', '002': '蔬菜', '003': '水果'}

三,关于series的知识点

Series 是 pandas 库中一种一维带标签的数据结构,类似于带索引的数组或列表。它可以存储任何数据类型(整数、字符串、浮点数、Python 对象等),并且每个元素都有一个对应的标签(索引)。理解 Series 是掌握 pandas 的基础,因为它是 DataFrame(二维表格)的基本组成单元。

创建方式:

import pandas as pd# 从列表创建,默认索引为 0, 1, 2...
s = pd.Series([10, 20, 30, 40])
print(s)
# 输出:
# 0    10
# 1    20
# 2    30
# 3    40
# dtype: int64# 指定自定义索引
s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(s)
# 输出:
# a    10
# b    20
# c    30
# d    40
# dtype: int64

理解Series与DataFrame的关系:

  • DataFrame 是由多个 Series 组成的二维表格,每一列都是一个 Series。
  • Series 的索引对应 DataFrame 的行索引,Series 的名称(name 属性)对应 DataFrame 的列名。
  • 代码示例:
    # 用两个 Series 创建 DataFrame
    s1 = pd.Series([1, 2, 3], index=['a', 'b', 'c'], name='A')
    s2 = pd.Series([4, 5, 6], index=['a', 'b', 'c'], name='B')df = pd.DataFrame({'列1': s1, '列2': s2})
    print(df)
    # 输出:
    #    列1  列2
    # a   1   4
    # b   2   5
    # c   3   6

    三,grouped = df.groupby('单品编码')的解析

    groupby作用是根据 df 这个 DataFrame 中 ‘单品编码’ 这一列的值,将 df 中的行进行分组。它创建了一个特殊的 Pandas 对象,称为“GroupBy 对象”(grouped),这个对象内部包含了按 ‘单品编码’ 分组后的各个数据子集。

    不是直接获取列,而是基于列的值进行分组
    示例:当我们获得这样的数据后:

    日期	单品编码	销售量
    2023-01-01	A001	10
    2023-01-15	A002	5
    2023-02-01	A001	8
    2023-02-10	A003	12
    2023-03-05	A002	7
    2023-03-20	A001	15
     grouped = df.groupby('单品编码')for name, group in grouped:print(f"分组键: {name}")print(group)print("-" * 20)

    输出为:

        分组键: A001日期     单品编码  销售量0 2023-01-01    A001    102 2023-02-01    A001     85 2023-03-20    A001    15--------------------分组键: A002日期     单品编码  销售量1 2023-01-15    A002     54 2023-03-05    A002     7--------------------分组键: A003日期     单品编码  销售量3 2023-02-10    A003    12--------------------

    四,字典的创建

  • 创建一个空字典:

  •    results = {}

    添加字典

  •    results[key] = value

    这将为字典 results 添加一个键为 key、值为 value 的键值对。如果 key 已经存在,则更新其对应的值。

  • 访问值

       value = results[key]

    这将获取键 key 对应的值。如果 key 不存在,将引发 KeyError。

  • 就学到这,内容比较基础,谢谢观看

http://www.dtcms.com/a/268754.html

相关文章:

  • 牛客周赛 Round 99题解
  • C++ --- list的简单实现
  • 沙箱逃逸漏洞
  • STEP 7 MicroWIN SMART V2.2 的详细安装步骤及注意事项
  • 股票筹码分布及其数据获取
  • validate CRI v1 image API for endpoint “unix:///run/containerd/containerd.sock“
  • 代码详细注释:递归查找指定目录及其子目录中的所有BMP位图文件,并通过双重验证确保找到的文件确实是合法的BMP文件。以下是详细的功能说明:DIY机器人工房
  • Maven 私库
  • [特殊字符] Excel 读取收件人 + Outlook 批量发送带附件邮件 —— Python 自动化实战
  • pyautogui库的一些鼠标操作
  • 医学 LLM 评估相关论文笔记
  • OSPF路由过滤
  • 【python实用小脚本-130】基于 Python 的 HTML 到 Markdown 转换工具:实现高效文档格式转换
  • 深度学习7(梯度下降算法改进)
  • SLAM文献之Efficient and Consistent Bundle Adjustment on Lidar Point Clouds(BALM)
  • 安卓10.0系统修改定制化____实现自动开启 USB 调试​的步骤解析 列举常用的几种修改方法
  • 【氮化镓】​​GaN帽层对HEMTs栅极漏电机制的影响
  • LeetCode 2099.找到和最大的长度为 K 的子序列:自定义排序
  • 前端篇——HTML知识点体系
  • 解决jenkins的Exec command命令nohup java -jar不启动问题
  • 订单初版—1.分布式订单系统的简要设计文档
  • Vue 2 vs Vue 3:核心区别详解与升级指南
  • 使用ansible的角色实现批量安装nginx服务
  • ReAct (Reason and Act) OR 强化学习(Reinforcement Learning, RL)
  • [特殊字符] Python 实战 | 批量统计中文文档词频并导出 Excel
  • iOS 出海 App 安全加固指南:无源码环境下的 IPA 加固与防破解方法
  • Spring的Bean原型模式下的使用
  • OpenWebUI(3)源码学习-后端models数据模型模块
  • 【论文撰写】如何把AI生成的文本公式复制在word中,完整的复制公式,拷贝豆包生成的公式
  • 网络安全之注入攻击:原理、危害与防御之道