3. pandas笔记之:创建
以下是 Pandas 主要数据结构的创建方式整理,涵盖 Series 和 DataFrame 的常见创建方法:
一、Series 创建方式
- 从列表/数组创建
import pandas as pd
import numpy as np# 基础列表
s1 = pd.Series([1, 3, 5, np.nan, 6])# 指定索引
s2 = pd.Series([10, 20, 30], index=['a', 'b', 'c'])# 从 NumPy 数组
arr = np.array([2, 4, 6])
s3 = pd.Series(arr)
- 从字典创建
data = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(data) # 字典键自动作为索引
- 标量值创建
s = pd.Series(5, index=[0, 1, 2, 3]) # 所有值为5
二、DataFrame 创建方式
- 从字典创建
# 列式字典
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 28],'Score': [92.5, 85.0, 88.5]
}
df1 = pd.DataFrame(data)# 指定索引
df2 = pd.DataFrame(data, index=['a', 'b', 'c'])
- 从列表的列表创建
data = [['Alice', 25, 92.5],['Bob', 30, 85.0],['Charlie', 28, 88.5]
]
df = pd.DataFrame(data, columns=['Name', 'Age', 'Score'])
- 从嵌套字典创建
data = {'2020': {'A': 100, 'B': 200},'2021': {'A': 110, 'C': 210}
}
df = pd.DataFrame(data) # 外层字典键为列名,内层键为索引
- 从 NumPy 数组创建
arr = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]
])
df = pd.DataFrame(arr, columns=['X', 'Y', 'Z'])
- 从结构化数组创建
dtype = [('Name', 'U10'), ('Age', 'i4'), ('Score', 'f4')]
data = np.array([('Alice', 25, 92.5),('Bob', 30, 85.0)
], dtype=dtype)
df = pd.DataFrame(data)
- 从文件/外部数据源创建
# 从 CSV
df_csv = pd.read_csv('data.csv')# 从 Excel
df_excel = pd.read_excel('data.xlsx', sheet_name='Sheet1')# 从 SQL 数据库
import sqlite3
conn = sqlite3.connect('database.db')
df_sql = pd.read_sql('SELECT * FROM table', conn)
三、特殊创建方式
- 时间序列索引
dates = pd.date_range('20230101', periods=6)
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=['A','B','C','D'])
- 随机数据生成
df = pd.DataFrame(np.random.rand(3,4)) # 均匀分布
df = pd.DataFrame(np.random.randn(3,4)) # 正态分布
- 从其他数据结构转换
# 从 Series 字典
s_dict = {'A': pd.Series([1, 2, 3]),'B': pd.Series([4, 5, 6, 7])
}
df = pd.DataFrame(s_dict)
四、高级创建技巧
- 指定数据类型
df = pd.DataFrame(data = {'A': [1, 2], 'B': ['X', 'Y']},dtype = {'A': 'float32', 'B': 'category'}
)
- 混合类型创建
df = pd.DataFrame({'IntCol': [1, 2, 3],'FloatCol': [1.1, 2.2, 3.3],'StrCol': ['A', 'B', 'C'],'DateCol': pd.date_range('20200101', periods=3)
})
- 空 DataFrame 创建
empty_df = pd.DataFrame(columns=['A', 'B', 'C'])
五、创建方式对比
| 方式 | 适用场景 | 优点 | 注意事项 |
|---|---|---|---|
| 字典创建 | 列式数据组织 | 直观易读 | 各列长度必须一致 |
| 列表的列表创建 | 行式数据输入 | 适合小规模数据 | 需配合columns参数 |
| NumPy数组创建 | 数值型数据处理 | 高性能 | 需手动添加列名 |
| 文件读取 | 大数据集加载 | 支持多种格式 | 注意编码和内存管理 |
| 时间序列创建 | 金融/时序数据分析 | 内置时间处理功能 | 索引需排序 |
| 空DataFrame创建 | 动态构建数据结构 | 灵活填充数据 | 需后续维护列结构一致性 |
六、最佳实践建议
- 优先使用字典创建:当数据以列形式组织时最直观
- 大数据使用文件读取:避免内存溢出
- 明确指定数据类型:防止自动类型推断错误
- 索引管理:合理设置索引提升查询性能
- 验证数据完整性:检查NaN和异常值
掌握这些创建方式后,可以灵活应对各种数据初始化场景。
相关文章:
3. pandas笔记之:创建
以下是 Pandas 主要数据结构的创建方式整理,涵盖 Series 和 DataFrame 的常见创建方法: 一、Series 创建方式 从列表/数组创建 import pandas as pd import numpy as np# 基础列表 s1 pd.Series([1, 3, 5, np.nan, 6])# 指定索引 s2 pd.Series([10, …...
潞晨科技将暂停DeepSeek API服务,AI大模型技术红利普惠化与市场竞争白热化叠加,内卷恶果,开始显现!
潞晨科技宣布暂停DeepSeek API服务的事件,不仅暴露了AI大模型行业的技术与成本博弈,更折射出国内AI生态中中小企业的生存困境和行业内卷的深层矛盾。这一事件背后,既有企业个体商业模式的局限性,也揭示了整个行业在技术迭代、成本控制和市场策略上的系统性挑战。 一、潞晨科…...
某大型电解铝厂电解系统谐波治理装置改造沃伦森电气
电解铝行业谐波治理解决方案——无源滤波装置优化升级,保障稳定运行 在电解铝生产过程中,谐波污染问题严重影响电网电能质量,甚至可能导致滤波装置损坏,引发群爆事故。河南登封某大型电解铝厂通过无源滤波装置智能化改造ÿ…...
Rust 学习笔记:安装 Rust
Rust 学习笔记:安装 Rust Rust 学习笔记:安装 Rust在 Windows 上安装 Rust命令行创建 Rust 项目在 Mac/Linux 上安装 Rust一些命令升级卸载cargo -hrustc -h 安装 RustRoverrust-analyzer Rust 学习笔记:安装 Rust 在 Windows 上安装 Rust …...
精准落地设计,现代项目管理中的深度实践
在数字化转型浪潮席卷全球的当下,项目管理的复杂性呈指数级增长。无论是软件开发、大型工程建设,还是企业流程再造,都面临着设计理念与实际执行之间的鸿沟。《人月神话》第6章中关于确保体系结构师设计准确落地的论述,为破解这一难…...
编译 C++ 报错“找不到 g++ 编译器”的终极解决方案(含 Windows/Linux/macOS)
前言 在使用终端编译 C 程序时,报错: 或类似提示,意味着你的系统尚未正确安装或配置 g 编译器。本篇将从零手把手教你在 Windows / Linux / macOS 下安装并配置 g,适用于新手或 C 入门阶段的你。 什么是 g? g 是 GN…...
联易融出席深圳链主企业供应链金融座谈会,加速对接票交所系统
近日,深圳市委金融办组织召开全市链主企业供应链金融高质量发展座谈会。联易融作为供应链金融企业代表,与虾皮信息科技、电子元器件和集成电路国际交易中心等代表性机构以及行业协会、金融机构参加了会议。 发展供应链金融是破解中小微企业融资难、融资…...
html单页业务介绍源码
源码介绍 html单页业务介绍源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行 效果预览 源码免费获取 html单页业务介绍源码...
单体OJ项目
单体项目版本、微服务版还需我再钻研钻研。 项目介绍 在系统前台,管理员可以创建、管理题目;用户可以自由搜索题目、阅读题目、编写并提交代码。 在系统后端,能够根据管理员设定的题目测试用例在代码沙箱 中对代码进行编译、运行、判断输出是否正确。 其…...
豆包桌面版 1.47.4 可做浏览器,免安装绿色版
自己动手升级更新办法: 下载新版本后安装,把 C:\Users\用户名\AppData\Local\Doubao\Application 文件夹的文件,拷贝替换 DoubaoPortable\App\Doubao 文件夹的文件,就升级成功了。 再把安装的豆包彻底卸载就可以。 桌面版比网页版…...
数据分析案例:医疗健康数据分析
目录 数据分析案例:医疗健康数据分析1. 项目背景2. 数据加载与预处理2.1 加载数据2.2 数据清洗3. 探索性数据分析(EDA)3.1 再入院率概览3.2 按年龄分组的再入院率3.3 住院时长与再入院4. 特征工程与可视化5. 模型构建与评估5.1 数据划分5.2 训练逻辑回归5.3 模型评估6. 业务…...
【MySQL】索引失效问题详解
目录 1. 最左前缀原则 2. 条件左边有函数或运算 3. 隐式类型转换 4. LIKE 模糊查询以 % 开头 5、MySQL 优化器选择全表扫描 ⭐对 in 关键字特别说明⭐ (1)列表太大时,走全表扫描了 (2)隐式类型转换 ÿ…...
Qt实现语言切换的完整方案
在Qt中实现语言动态切换需要以下几个关键步骤,我将提供一个完整的实现方案: 一、准备工作 在代码中使用tr()标记所有需要翻译的字符串 cpp button->setText(tr("Submit")); 创建翻译文件 在.pro文件中添加: qmake TRANSLATION…...
MongoDB(docker版)备份还原
docker启动MongoDB docker run -d -p 27017:27017 --name my-mongo -v /mongodb/db:/data/db mongo备份MongoDB 使用mongodump备份数据库时,默认会将备份数据保存在当前工作目录下的dump文件夹中。 docker容器中默认备份在当前工作目录,所以此处指定当…...
优选算法第十讲:字符串
优选算法第十讲:字符串 1.最长公共前缀2.最长回文子串3.二进制求和4.字符串相乘 1.最长公共前缀 2.最长回文子串 3.二进制求和 4.字符串相乘...
【扣子Coze 智能体案例四】五行八卦占卜智能体
目录 一、意图识别 二、时间格式转换 三、八字转换 四、八字提取 五、八字提取2 六、数据汇总 七、统计五行占比 八、雷达图生成 九、表格生成 十、AI占卜 十一、结束节点 一、意图识别 用户输入的信息包含各种时间格式的年月日时 用户输入的信息包含天干地支八字…...
2026《数据结构》考研复习笔记四(绪论)
绪论 前言时间复杂度分析 前言 由于先前笔者花费约一周时间将王道《数据结构》知识点大致过了一遍,圈画下来疑难知识点,有了大致的知识框架,现在的任务就是将知识点逐个理解透彻,并将leetcode刷题与课后刷题相结合。因此此后的过…...
域名 → IP 的解析全过程
Question 使用 iOS 的网络库 (比如 AFNetwoking, URLSession, Alamofire) 进行请求时, 域名具体是怎样被解析为 IP 地址的 ? Answer 一次常见的 URLSession / AFNetworking / Alamofire 请求,域名 → IP 的解析全过程 拆成自顶向下 6 个环节, 如下 1 ► 应用层&…...
C++学习:六个月从基础到就业——STL算法(三)—— 数值算法(上)
C学习:六个月从基础到就业——STL算法(三)—— 数值算法(上) 本文是我C学习之旅系列的第二十七篇技术文章,也是第二阶段"C进阶特性"的第五篇,主要介绍C STL算法库中的数值算法(上部分)。查看完整系列目录了解…...
路由与路由器
路由的概念 路由是指在网络通讯中,从源设备到目标设备路径的选择过程。路由器是实现这一过程的关键设备,它通过转发数据包来实现网络的互联。路由工作在OSI参考模型的第三层,‘网络层’。 路由器的基本原理 路由器通过维护一张路由表来决定…...
5.学习笔记-SpringMVC(P61-P70)
SpringMVC-SSM整合-接口测试 (1)业务层接口使用junit接口做测试 (2)表现层用postman做接口测试 (3)事务处理— 1)在SpringConfig.java,开启注解,是事务驱动 2)配置事务管理器(因为事务管理器是要配置数据源对象&…...
【专题刷题】二分查找(一):深度解刨二分思想和二分模板
📝前言说明: 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,按专题划分每题主要记录:(1)本人解法 本人屎山代码;(2)优质解法 优质代码;ÿ…...
硬核解析!电动汽车能耗预测与续驶里程的关键技术研究
引言 随着电动汽车的普及,续航里程和能耗表现成为用户关注的核心痛点。然而,表显续航与实际续航的差异、低温环境下的电量衰减等问题始终困扰着消费者。本文基于《电动汽车能耗预测与续驶里程研究》的实验成果,深入剖析电动汽车能耗预测的核心模型、多环境测试方法及续航里…...
【OceanBase相关】01-OceanBase数据库部署实践
文章目录 一、前言1、介绍说明2、部署方案二、部署说明1、环境准备2、软件安装2.1、安装OAT2.2、安装OCP3、软件部署三、集群管理1、MySQL租户管理四、Q&A1、OBServer 服务器重启后 observer 进程未能自动启动1.1、问题说明1.2、解决措施2、ERROR 1235 (0A000) at line 1: …...
【华为OD机试真题】428、连续字母长度 | 机试真题+思路参考+代码解析(E卷)(C++)
文章目录 一、题目题目描述输入输出样例1样例2 一、代码与思路🧠C语言思路✅C代码 一、题目 参考:https://sars2025.blog.csdn.net/article/details/139492358 题目描述 ◎ 给定一个字符串,只包含大写字母,求在包含同一字母的子串…...
C# 综合示例 库存管理系统4 classMod类
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的 在《库存管理系统》中使用classMod类来保存全局变量。 变量定义和含义,请详见下面的源代码: public class classMod { //数据库路径...
ZooKeeper配置优化秘籍:核心参数说明与性能优化
#作者:张桐瑞 文章目录 tickTime:Client-Server通信心跳时间initLimit:Leader-Follower初始通信时限syncLimit:Leader-Follower同步通信时限dataDir:数据文件目录clientPort:客户端连接端口服务器名称与地…...
详细讲解 QMutex 线程锁和 QMutexLocker 自动锁的区别
详细讲解 QMutex 线程锁和 QMutexLocker 自动锁的区别 下面我们详细拆解 Qt 中用于线程同步的两个核心类:QMutex 和 QMutexLocker。 🧱 一、什么是 QMutex? QMutex 是 Qt 中的互斥锁(mutex)类,用于防止多个…...
PCB 过孔铜厚的深入指南
***前言:在上一期的文章中介绍了PCB制造的工艺流程,但仍然想在过孔的铜厚和PCB的过孔厚径比两个方面再深入介绍。 PCB铜厚的定义 电路中铜的厚度以盎司(oz)**表示。那么,为什么用重量单位来表示厚度呢? 盎司(oz)的定义 将1盎司(28.35 克)的铜…...
【ES实战】Elasticsearch中模糊匹配类的查询
Elasticsearch中模糊匹配类的查询 文章目录 Elasticsearch中模糊匹配类的查询通配符查询前缀匹配查询正则匹配查询标准的正则操作特殊运算符操作 模糊化查询Fuzziness text类型同时配置keyword类型 Elasticsearch中模糊类查询主要有以下 Wildcard Query:通配符查询P…...
