【数据分析】pandas 一
目录
一,pandas简介:
二,pandas数据结构Series简介:
2.1 data为ndarray
2.2 data为字典
三,Serise切片操作:
四,Series性质:
4.1 Series类似于numpy,字典
4.2 矢量化操作和标签对齐系列:
4.3 name属性:
一,pandas简介:
pandas是Python的一个第三方开源库,是Python数据分析的必备高级工具,Pandas 这个名字来源于面板数据(Panel Data)与数据分析(data analysis)这两个名词的组合。在经济学中,Panel Data 是一个关于多维数据集的术语。Pandas 最初被应用于金融量化交易领域,现在它的应用领域更加广泛,涵盖了农业、工业、交通等许多行业。
二,pandas数据结构Series简介:
Series是一个一维标记数组,能够保存任何数据类型(整数,字符串,浮点数,Python对象等)。创建它的基本方法是调用Series
首先我们先导入pandas
import numpy as np
import pandas as pd
s = pd.Series(data, index=index)
这里data可以有很多不同的东西:
python字典
一个ndarray
标量值(如 5)
传递的索引是轴标签的列表,因此根据数据是什么,分为几种情况:
2.1 data为ndarray
如果 data 是 ndarray,则索引必须与数据长度相同。如果没有传递索引,则会创建一个具有 value 的索引。[0,..,len(data)-1]
这里我们先给出index
s = pd.Series(np.random.randn(5), index=["a", "b", "c", "d", "e"])
a 0.469112
b -0.282863
c -1.509059
d -1.135632
e 1.212112
dtype: float64
s.index
Index(['a', 'b', 'c', 'd', 'e'], dtype='object')
下面我们不给index
pd.Series(np.random.randn(5))
0 -0.173215
1 0.119209
2 -1.044236
3 -0.861849
4 -2.104569
dtype: float64
可以看到Python自动生成了一个索引
2.2 data为字典
Series可以从字典实例化:
d = {"b": 1, "a": 0, "c": 2}
b 1
a 0
c 2
dtype: int64
如果传递了索引,则将拉出索引中标签对应的数据中的值
d = {"a": 0.0, "b": 1.0, "c": 2.0}
pd.Series(d)
pd.Series(d, index=["b", "c", "d", "a"])
a 0.0
b 1.0
c 2.0
dtype: float64b 1.0
c 2.0
d NaN
a 0.0
dtype: float64
注意:NaN不是数字是pandas中使用的标准缺失数据标记
三,Serise切片操作:
Series与ndarray非常相似,并且是大多数Numpy函数的有效参数,Series也能对索引进行切片操作。
s[0]
0.4691122999071863
s[:3]
a 0.469112
b -0.282863
c -1.509059
dtype: float64
s[s > s.median()]
a 0.469112
e 1.212112
dtype: float64
s[[4, 3, 1]]
e 1.212112
d -1.135632
b -0.282863
dtype: float64
四,Series性质:
4.1 Series类似于numpy,字典
与numpy数组一样,pandas的Series也有一个dtype
s.dtype
dtype('float64')
这通常是NumPy dtype。然而,pandas和第3方库在几个地方扩展了NumPy的类型系统,在这种情况下,dtype将是ExtensionDtype.pandas中的一些示例是分类数据和可为空整数数据类型。
Series也类似于固定大小的字典,可以通过索引标签获取和设置值:
s["a"]
s["e"] = 12.0
"e" in s
"f" in s
0.4691122999071863a 0.469112
b -0.282863
c -1.509059
d -1.135632
e 12.000000
dtype: float64True
False
如果索引中不包含标签则会引发异常。
使用Series.get()方法,丢失的标签将返回None或指定的默认值:
s.get("f", np.nan)
nan
4.2 矢量化操作和标签对齐系列:
使用原始Numpy数组时间,通常不需要逐值循环,在panda中使用Series时间也是如此,Series可以传递到大多数需要ndarray的Numpy方法中
s + s
s * 2
np.exp(s)
a 0.938225
b -0.565727
c -3.018117
d -2.271265
e 24.000000
dtype: float64a 0.938225
b -0.565727
c -3.018117
d -2.271265
e 24.000000
dtype: float64a 1.598575
b 0.753623
c 0.221118
d 0.321219
e 162754.791419
dtype: float64
Series和ndarray之间的一个关键区别是,Series会根据标签自动对齐数据,因此,在编写计算时无需烤炉Series的标签是否相同。
s[1:] + s[:-1]
a NaN
b -0.565727
c -3.018117
d -2.271265
e NaN
dtype: float64
未对齐之间的运算结果Series将包含所涉及索引的并集。Series如果在其中一个或另一个中找不到标签,结果将被标记为丢失NaN。能够在不进行任何显式数据对齐的情况下编写代码,为交互式数据分析和研究提供了巨大的自由度和灵活性。pandas数据结构的集成数据对齐功能使pandas与大多数处理标记数据的相关工具区分开来。
注意:一般来说,我们选择使不同索引对象之间的操作的默认结果产生索引的并集,以避免信息丢失。尽管缺少数据,但拥有索引标签通常是计算过程中的重要信息。您当然可以选择通过dropna函数删除丢失数据的标签。
4.3 name属性:
Series还有一个name属性:
s = pd.Series(np.random.randn(5), name="something")s.name
0 -0.494929
1 1.071804
2 0.721555
3 -0.706771
4 -1.039575
Name: something, dtype: float64'something'
另外还能又pandas.Series.rename()来重命名
s2 = s.rename("different")
s2.name
'different'
4.4,基本属性
| 属性 | 用途 |
| s.shape | 查看数据行列 |
| s.ndim | 查看维度,Series 是一维,ndim 恒等于1 |
| s.size | 查看数据总数 |
| s.index | 查看索引 |
| s.values | 查看数据值 |
| s.name | 查看 Series 对象的 name,若未设定则为空 |
(1)
s = pd.Series(np.random.randint(1,10,size=(10,)))
s.head() # 默认是前五行数据,可自定义行数,比如想要十行的话,s.head(10)
(2)isnull(),notnull()函数检测缺失数据
创建一个测试集
obj = Series([10,4,np.nan])
使用notnull查看
notnull = pd.notnull(obj)
根据isnull()返回的结果,取不为空的数据
obj[notnull]
相关文章:
【数据分析】pandas 一
目录 一,pandas简介: 二,pandas数据结构Series简介: 2.1 data为ndarray 2.2 data为字典 三,Serise切片操作: 四,Series性质: 4.1 Series类似于numpy,字典 4.2 矢量化操作和标…...
题解 | #G.Gcd# 2023牛客暑期多校6
G.Gcd 数论 题目大意 给定一个包含两个非负数的初始集合 S { x , y } S\{x,y\} S{x,y} 每次操作可以选定其中不相等的两个数 a , b a,b a,b ,并将 a − b a-b a−b 或 g c d ( a , b ) gcd(a,b) gcd(a,b) 置入集合 S S S ,其中 g c d ( 0 , a …...
苍穹外卖day10——订单状态定时处理(Spring Task)、来单提醒和客户催单(WebSocket)
预期效果 对于超时没处理的需要定时程序处理。基于SpringTask实现。 来单提醒和客户催单。基于WebSocket实现。 Spring Task 介绍 Cron表达式 周几通常不能和日一起指定。 cron表达式在线生成器 在线Cron表达式生成器 入门案例 创建定时任务类 /*** 定义定时任务类*/ Slf4j…...
【多线程初阶】多线程案例之单例模式
文章目录 前言1. 什么是单例模式2. 饿汉模式3. 懒汉模式 --- 单线程版4. 懒汉模式 --- 多线程版5. 懒汉模式 --- 多线程改进版总结 前言 本文主要给大家讲解多线程的一个重要案例 — 单例模式. 关注收藏, 开始学习吧🧐 1. 什么是单例模式 单例模式是一种很经典的…...
跨境选品怎么选?建议独立站卖家收下这份利基产品查找攻略!
跨境电商平台现在可谓是火热发展中,独立站出海风口,其实选择的机会还真不少,相比国内电商的发展势头,看得出来,未来跨境电商的大门,对你而言,敞开着。选品这事儿,就像你上战场前挑选…...
[C++项目] Boost文档 站内搜索引擎(1): 项目背景介绍、相关技术栈、相关概念介绍...
项目背景 Boost库是C中一个非常重要的开源库. 它实现了许多C标准库中没有涉及的特性和功能, 一度成为了C标准库的拓展库. C新标准的内容, 很大一部分脱胎于Boost库中. Boost库的高质量代码 以及 提供了更多实用方便的C组件, 使得Boost库在C开发中会被高频使用 为方便开发者学…...
opencv-32 图像平滑处理-高斯滤波cv2.GaussianBlur()
在进行均值滤波和方框滤波时,其邻域内每个像素的权重是相等的。在高斯滤波中,会将中心点的权重值加大,远离中心点的权重值减小,在此基础上计算邻域内各个像素值不同权重 的和。 基本原理 在高斯滤波中,卷积核中的值不…...
Windows 环境Kubernetes安装
目录 前言 安装 Docker 安装 Kubernetes Windows 安装 kubectl 介绍 安装 开启 Kubernetes 前言 Docker作为当前最流行的容器化平台,为Kubernetes提供了强大的容器化技术基础。Kubernetes与Docker的结合,使得容器化应用程序在大规模集群中得以简…...
自建类ChatGPT服务:本地化部署与远程访问教程
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...
常用SQL语句总结
SQL语句 文章目录 SQL语句1 SQL语句简介2 DQL(数据查询语句)3 DML(数据操纵语句)4 DDL(数据定义语句)5 DCL(数据控制语句)6 TCL(事务控制语句) 1 SQL语句简介…...
arm交叉编译lmbench
一、下载lmbench www.bitmover.com/lmbench 官网下载,http://www.bitmover.com/lmbench/lmbench3.tar.gz 我没有下载下来,找的别人的百度云下载 链接: https://pan.baidu.com/s/1tGo1clCqY-jQPN8G1eWSsg 提取码: f6jd 二、修改makefile 修改三个文件…...
ExtJs 7.7.0 下载方法与去除trial水印
背景 最近发现Sencha ExtJs发布了ExtJs7.7.0版本,立刻下载了SDK包,许多朋友不知如何下载,如何去除右上角的trial水印。本文讲下相关下载技巧与方法。 下载SDK 首先需要申请试用,申请地址如下,需要注意可能需要梯子&…...
Android11开发规划
文章目录 规划总结规划 提示:这里可以添加本文要记录的大概内容: 从本文开始,会介绍如何移植瑞芯微提供的Android11源码到自己的RK3568的板子上 下面是整个Android开发的规划: 包括以下部分: … 一、移植部分 下载编译瑞芯微提供的源码 瑞芯微原厂源码目录介绍...
活动隔断在现在酒店运用的方式
活动隔断是一种在酒店内部划分空间的方式,用于实现不同活动的隔离和隐私。现代酒店常用的活动隔断方式有以下几种: 1. 固定隔断:使用墙体、固定屏风或者板材等材料,将空间划分为不同的房间或区域。这种方式常用于划分客房、会议室…...
Jenkins工具系列 —— 插件 钉钉发送消息
文章目录 安装插件 Ding TalkJenkins 配置钉钉机器人钉钉APP配置项目中启动钉钉通知功能 安装插件 Ding Talk 点击 左侧的 Manage Jenkins —> Plugins ——> 左侧的 Available plugins Jenkins 配置钉钉机器人 点击 左侧的 Manage Jenkins ,拉到最后 钉…...
LeetCode 26 题:删除有序数组的重复项
思路 在写这一个题时,我突然想到了Python中的 set()函数可能会有大用处,便选择了用Python写。 set()函数可以将列表转化为集合,集合会保证元素的单一性,所以会自动删去相同字符。 …...
优雅地切换node版本(windows)
文章目录 1、下载并安装nvm2、nvm的使用3、处理npm版本与nodejs版本不匹配问题(通常不会有这个问题) 1、下载并安装nvm 卸载已安装的node:控制面板-程序-找到node并卸载 通常在控制面板中卸载后,nodejs目录、环境变量、注册表就自…...
反诈:吴明军、黄亮领导的WIN生活资金盘,大家警惕防范此类诈骗
消息已经证实!“米粒”无法变现,数以万计的会员深套“315万民商城”,维权艰难,血汗钱无法讨回。 其实这一点笔者并不感到太意外,因为万民商城资金传销盘的定性之前就已经发文揭露过,并反复提醒大家小心警惕…...
shell、bash的关系及bash的特性(一)
一、概念 shell是壳,是运行在终端中的文本互动程序。Shell相当于是一个翻译,把我们在计算机上的操作命令,翻译为计算机可识别的二进制命令,传递给内核,以便调用计算机硬件执行相关的操作;同时,计…...
【问题随记】
ubuntu 14.04源更新(sources.list) deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-update…...
龙虾白嫖指南,请查收~何
1. 什么是 Apache SeaTunnel? Apache SeaTunnel 是一个非常易于使用、高性能、支持实时流式和离线批处理的海量数据集成平台。它的目标是解决常见的数据集成问题,如数据源多样性、同步场景复杂性以及资源消耗高的问题。 核心特性 丰富的数据源支持&#…...
哥本哈士奇(aspnetx)俚
简介 langchain中提供的chain链组件,能够帮助我门快速的实现各个组件的流水线式的调用,和模型的问答 Chain链的组成 根据查阅的资料,langchain的chain链结构如下: $$Input \rightarrow Prompt \rightarrow Model \rightarrow Outp…...
用一节干电池给STM32F103供电?手把手教你搞定体重秤的低功耗升压电路(附ME2108模块选型)
单节干电池驱动STM32F103的实战指南:从升压电路设计到低功耗优化 在电子设计领域,最令人着迷的挑战之一就是如何用最有限的能源实现最复杂的功能。想象一下,仅凭一节普通的AA干电池(1.5V)就能驱动一个完整的STM32F103微…...
MinerU智能文档服务一文详解:如何用自然语言指令替代传统OCR工具
MinerU智能文档服务一文详解:如何用自然语言指令替代传统OCR工具 你是不是还在为处理PDF报告、扫描文件或者截图里的文字而头疼?是不是觉得传统的OCR工具用起来特别麻烦——先要上传文件,然后等它识别,最后还得手动整理格式&…...
CentOS下hping3从编译到实战:网络测试与安全攻防指南
1. 初识hping3:网络测试的瑞士军刀 第一次接触hping3是在五年前的一次网络故障排查中。当时我们遇到一个诡异的网络抖动问题,常规的ping和traceroute都无法定位问题根源。一位资深工程师随手敲了几行hping3命令,不到十分钟就锁定了问题所在—…...
树莓派Pico玩转TFmini Plus雷达:MicroPython驱动教程与避坑指南(附IIC模式切换)
树莓派Pico玩转TFmini Plus雷达:MicroPython驱动教程与避坑指南(附IIC模式切换) 当树莓派Pico遇上TFmini Plus雷达,会碰撞出怎样的火花?这款售价仅4美元的微控制器,凭借其双核ARM Cortex-M0处理器和灵活的G…...
Xcode开发者福音:Baidu Comate 3.5S实战体验(附iOS项目避坑指南)
Xcode开发者福音:Baidu Comate 3.5S实战体验(附iOS项目避坑指南) 作为一名长期深耕iOS生态的开发者,我经历过无数次Xcode的"玄学报错"和SwiftUI的"神秘崩溃"。直到遇见Baidu Comate 3.5S,这款专为…...
终极解决方案:三分钟将B站缓存视频转换为永久可播放的MP4格式
终极解决方案:三分钟将B站缓存视频转换为永久可播放的MP4格式 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾遇到过这样的困…...
大模型偏见检测难?揭秘FAIR-ML 2.0评估协议:7步完成合规性审计并生成监管报告
第一章:大模型工程化中的模型公平性评估 2026奇点智能技术大会(https://ml-summit.org) 模型公平性评估是大模型工程化落地的核心治理环节,直接关系到系统在真实场景中的可信度、合规性与社会影响。当模型被部署于招聘筛选、信贷审批或司法辅助等高风险…...
微信小程序头像昵称获取报错?别慌,手把手教你排查‘api scope is not declared’问题
微信小程序头像昵称获取报错?三步定位‘api scope is not declared’问题根源 最近在调试微信小程序时,突然遇到一个让人头疼的报错:chooseAvatar:fail api scope is not declared in the privacy agreement。这个错误看似简单,实…...
