站长工具站长,建网站咨询,wordpress装模板,房屋装修简约风格今天学习数学建模2023年C篇#xff08;228#xff09;优秀论文
2023高教社杯全国大学生数学建模竞赛C题论文展示#xff08;C228#xff09; - 2023C题论文 - 中国大学生在线
一.pd.DataFrame
pd.DataFrame() 是 pandas 库中用于创建二维表格数据结构#xff08;DataFr…今天学习数学建模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
3to_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], nameA)
s2 pd.Series([4, 5, 6], index[a, b, c], nameB)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。 就学到这内容比较基础谢谢观看