Pandas系列|第二期:Pandas中的数据结构
1.Pandas中的数据结构:Series和DataFrame
Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。
Series 是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。
DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。
DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)
2.示例代码
import numpy as np
import pandas as pd# 用numpy数组创建Series
data = pd.Series([0.25, 0.5, 0.75, 1.0])
n1 = data.values # values是一个numpy数组
sub1data = data[1]
sub2data = data[1:3]data2 = pd.Series([0.25, 0.5, 0.75, 1.0],index=['a', 'b', 'c', 'd']) # 类似一个广义的numpy数组,可以显式地指定index
sub1data2 = data2['b']
data3 = pd.Series([0.25, 0.5, 0.75, 1.0],index=[2, 5, 3, 7]) # 索引可以不必是连续的# 用字典创建Series
population_dict = {'California': 38332521,'Texas': 26448193,'New York': 19651127,'Florida': 19552860,'Illinois': 12882135}
population = pd.Series(population_dict)
population1 = population['California']
population2 = population['California':'Illinois']# 直接创建Series
pd.Series([2, 4, 6])
pd.Series(5, index=[100, 200, 300])
pd.Series({2: 'a', 1: 'b', 3: 'c'})
pd.Series({2: 'a', 1: 'b', 3: 'c'}, index=[3, 2]) # 只返回指定索引的部分数据# 用多个Series创建DataFrame
area_dict = {'California': 423967,'Texas': 695662,'New York': 141297,'Florida': 170312,'Illinois': 149995}
area = pd.Series(area_dict)
states = pd.DataFrame({'population': population,'area': area})
print(states.index) # 索引名
print(states.columns) # 列名
print(states['area']) # 访问某一列# 用单个Series创建DataFrame
# DataFrame是Series的一个集合,也可以由一个Series构成
states1 = pd.DataFrame(population, columns=['population'])# 用字典创建DataFrame
data = [{'a': i, 'b': 2 * i} for i in range(3)]
dataset0 = pd.DataFrame(data)# 创建含有NaN的DataFrame
dataset1 = pd.DataFrame([{'a': 1, 'b': 2}, {'b': 3, 'c': 4}])# 用二维numpy数组创建DataFrame
dataset2 = pd.DataFrame(np.random.rand(3, 2),columns=['foo', 'bar'],index=['a', 'b', 'c'])# 用结构化的numpy数组创建DataFrame
A = np.zeros(3, dtype=[('A', 'i8'), ('B', 'f8')])
dataset3 = pd.DataFrame(A)# 在pandas种索引本身是一种结构,用整数构造索引
ind = pd.Index([2, 3, 5, 7, 11])
print(ind[1])
print('---------------------------------')
print(ind[::2]) # 隔2个序号取一个值
print(ind[::-1]) # 把列倒着排一遍
print(ind.size, ind.shape, ind.ndim, ind.dtype)# 索引是一种有序的集合,可以求交集、并集、差集
indA = pd.Index([1, 3, 5, 7, 9])
indB = pd.Index([2, 3, 5, 7, 11])
print(indA & indB) # intersection
print(indA | indB) # union
print(indA ^ indB) # symmetric difference
相关文章:
Pandas系列|第二期:Pandas中的数据结构
1.Pandas中的数据结构:Series和DataFrame Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。 Series 是一…...
Hadoop中MapReduce过程中Shuffle过程实现自定义排序
文章目录 Hadoop中MapReduce过程中Shuffle过程实现自定义排序一、引言二、实现WritableComparable接口1、自定义Key类 三、使用Job.setSortComparatorClass方法2、设置自定义排序器3、自定义排序器类 四、使用示例五、总结 Hadoop中MapReduce过程中Shuffle过程实现自定义排序 一…...
数位dp-acwing
题目:Windy数 1083. Windy数 - AcWing题库 分析 不能有前导0,初始化的时候需要有前导0,因为除了最高位数其他位数可以。 windy : 2 5 1 类似这样的数 第二位与第一位相差3 > 2 分类讨论 : 1. 位数跟 n 同位数 的…...
智慧园区小程序开发制作功能介绍
智慧园区小程序开发制作功能介绍 智慧园区小程序系统作为一款面向园区企业的一站式线上服务平台,可为企业提供数智化的园区办公服务。智慧园区小程序功能介绍 1、园区公告、政策信息查看足不出户掌握最新动态,“园区公告、政策信息”等信息。首页点击对应…...
STM32高级 物联网之Wi-Fi通讯
Wi-Fi基础知识 Wi-Fi由来 Wi-Fi,又称“无线网路”,是Wi-Fi联盟的商标,一个基于IEEE 802.11标准的无线局域网技术。“Wi-Fi”常写作“WiFi”或“Wifi”,但是这些写法并没有被Wi-Fi联盟认可。 Wi-Fi这个术语经常被误以为是指无线保真(Wireless Fidelity),类似历史悠久的…...
LLM预训练recipe — 摘要版
文章核心主题: 本文深入探讨了从零开始进行大型语言模型(LLM)预训练(pretrain)的各个环节,侧重方法论和实践细节,旨在普及预训练过程中的关键步骤、常见问题及避坑技巧,而非技术原理…...
波动理论、传输线和S参数网络
波动理论、传输线和S参数网络 传输线 求解传输线方程 对于传输线模型,我们通常用 R L G C RLGC RLGC 来表示: 其中 R R R 可以表示导体损耗,由于电子流经非理想导体而产生的能量损耗。 G G G 表示介质损耗,由于非理想电介质…...
nginx-1.23.2版本RPM包发布
nginx-1.23.2-0.x86_64.rpm用于CentOS7系统的安装,安装路径与编译安装是同一个路径。安装方法: 将nginx-1.23.2-0.x86_64.rpm上传至目标服务器,执行rpm -ivh nginx-1.23.2-0.x86_64.rpm命令进行安装。 卸载方法: 卸载前先将nginx服…...
如何用WPS AI提高工作效率
对于每位职场人而言,与Word、Excel和PPT打交道几乎成为日常工作中不可或缺的一部分。在办公软件的选择上,国外以Office为代表,而在国内,WPS则是不可忽视的一大选择。当年一代天才程序员求伯君创造了WPS,后面雷军把它装…...
LabVIEW应用在工业车间
LabVIEW作为一种图形化编程语言,以其强大的数据采集和硬件集成功能广泛应用于工业自动化领域。在工业车间中,LabVIEW不仅能够实现快速开发,还能通过灵活的硬件接口和直观的用户界面提升生产效率和设备管理水平。尽管其高成本和初期学习门槛可…...
Elasticsearch:normalizer
一、概述 Elastic normalizer是Elasticsearch中用于处理keyword类型字段的一种工具,主要用于对字段进行规范化处理,确保在索引和查询时保持一致性。 Normalizer与analyzer类似,都是对字段进行处理,但normalizer不会对字段进…...
动态规划子序列问题系列一>等差序列划分II
题目: 解析: 1.状态表示: 2.状态转移方程: 这里注意有个优化 3.初始化: 4.填表顺序: 5.返回值: 返回dp表总和 代码: public int numberOfArithmeticSlices(int[] nums) {in…...
48页PPT|2024智慧仓储解决方案解读
本文概述了智慧物流仓储建设方案的行业洞察、业务蓝图及建设方案。首先,从政策层面分析了2012年至2020年间国家发布的促进仓储业、物流业转型升级的政策,这些政策强调了自动化、标准化、信息化水平的提升,以及智能化立体仓库的建设࿰…...
低代码开源项目Joget的研究——Joget8社区版安装部署
大纲 环境准备安装必要软件配置Java配置JAVA_HOME配置Java软链安装三方库 获取源码配置MySql数据库创建用户创建数据库导入初始数据 配置数据库连接配置sessionFactory(非必须,如果后续保存再配置)编译下载tomcat启动下载aspectjweaver移动jw…...
upload-labs关卡记录15
图片马,这里就可以看到任务和注意事项: 使用一个正常图片,然后拼接一个一句话木马即可实现。这里就用命令窗口进行实现: copy 111.png/b shell.php/a shell.png 注意这里的命令窗口要在存在图片和一句话木马的目录下打开&#…...
1.使用 Couchbase 数仓和 Temporal(一个分布式任务调度和编排框架)实现每 5 分钟的增量任务
在使用 Couchbase 数仓和 Temporal(一个分布式任务调度和编排框架)实现每 5 分钟的增量任务时,可以按照以下步骤实现,同时需要注意关键点。 实现方案 1. 数据层设计(Couchbase 增量存储与标记) 在 Couchb…...
matrix-breakout-2-morpheus
将这一关的镜像导入虚拟机,出现以下页面表示导入成功 以root身份打开kali终端,输入以下命令,查看靶机ip arp-scan -l 根据得到的靶机ip,浏览器访问进入环境 我们从当前页面没有得到有用的信息,尝试扫描后台 发现有一个…...
农历节日倒计时:基于Python的公历与农历日期转换及节日查询小程序
农历节日倒计时:基于Python的公历与农历日期转换及节日查询小程序 摘要 又是一年春节即将到来,突然想基于Python编写一个农历节日的倒计时小程序。该程序能够根据用户输入的农历节日名称,计算出距离该节日还有多少天。通过使用lunardate库进…...
【RabbitMQ的死信队列】
死信队列 什么是死信队列死信队列的配置方式死信消息结构 什么是死信队列 消息被消费者确认拒绝。消费者把requeue参数设置为true(false),并且在消费后,向RabbitMQ返回拒绝。channel.basicReject或者channel.basicNack。消息达到预设的TTL时限还一直没有…...
掌握软件工程基础:知识点全面解析【chap02】
chap02 软件项目管理 1.代码行度量与功能点度量的比较 1.规模度量 是一种直接度量方法。 代码行数 LOC或KLOC 生产率 P1L/E 其中 L 软件项目代码行数 E 软件项目工作量(人月 PM) P1 软件项目生产率(LOC/PM) 代码出错…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
论文阅读:Matting by Generation
今天介绍一篇关于 matting 抠图的文章,抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法,已经有很多的工作和这个任务相关。这两年 diffusion 模型很火,大家又开始用 diffusion 模型做各种 CV 任务了&am…...
【51单片机】4. 模块化编程与LCD1602Debug
1. 什么是模块化编程 传统编程会将所有函数放在main.c中,如果使用的模块多,一个文件内会有很多代码,不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数声明,其他.c文…...
CTF show 数学不及格
拿到题目先查一下壳,看一下信息 发现是一个ELF文件,64位的 用IDA Pro 64 打开这个文件 然后点击F5进行伪代码转换 可以看到有五个if判断,第一个argc ! 5这个判断并没有起太大作用,主要是下面四个if判断 根据题目…...
