pandas索引操作、赋值操作、排序以及Series排序和DataFrame排序

news2025/7/19 6:23:07

一、pandas索引操作

索引操作,使用索引选取序列和切片选择数据,也可以直接使用列名、行名称,或组合使用

  • 直接使用行列索引:行列索引名顺序为先列再行,使用指定行列索引名,不能使用下标
  • loc[行索引名,列索引名]:先行再列,只能使用指定的行列索引名,不能使用下标
  • iloc[行,列]:先行再列,只能使用索引下标获取数据,不能使用指定行列索引名
  • 下标索引与指定行列索引相结合:使用index或columns.get_indexer,见案例

 代码如下

import pandas as pd
import numpy as np

# 数据生成代码
num = np.random.randint(50, 100, (3, 5))
num

# 传入标签索引
column = ['第一列', '第二列', '第三列', '第四列', '第五列']   # 列标签索引
# ind = ['第一行', '第二行', '第三行']    # 行标签索引
ind = ['第_' + str(i) + '_行' for i in range(num.shape[0])]   # 行标签索引,num.shape[0]即获取num数组的行号,此处为3
data = pd.DataFrame(num, columns=column, index=ind)
data
-------------------------------------------------------------------

data['第五列']['第_2_行']    # 只能先列再行

data['第_2_行']['第五列']    # 先行再列,报错

data.loc['第_0_行':'第_2_行', '第三列']    # 先行再列,loc只能使用指定行列索引,切取第三列中[0,2]行中的数据

data.loc[:'第_2_行', '第三列':]   # loc只能使用指定行列索引,切取[0,2]行,3-最后一列的数据

data.iloc[:2, 2:]   # iloc只能使用下标索引,切取[0,2)行,3-最后一列的数据

数据生成

 操作如下 

 下标索引与指定行列索引相结合

data.loc[data.index[0:2], ['第二列', '第三列', '第五列']]   # 下标索引与指定行列索引相结合

data.iloc[0:2, data.columns.get_indexer(['第二列', '第三列', '第五列'])]  # 下标索引与指定行列索引相结合

二、pandas赋值操作

只能对某一列赋值,不能对一行赋值,有两种方式,直接使用索引用点.索引名,具体如下

代码如下 

import pandas as pd
import numpy as np

# 数据生成代码
num = np.random.randint(50, 100, (3, 5))

# 传入标签索引
column = ['第一列', '第二列', '第三列', '第四列', '第五列']   # 列标签索引
# ind = ['第一行', '第二行', '第三行']    # 行标签索引
ind = ['第_' + str(i) + '_行' for i in range(num.shape[0])]   # 行标签索引,num.shape[0]即获取num数组的行号,此处为3
data2 = pd.DataFrame(num, columns=column, index=ind)
data2
------------------------------------------------------------
data2['第四列'] = 88   # 值可为字符串或汉字
data2

data2.第一列 = 99  # 方式二
data2

生成数据

 操作如下

三、pandas排序

pandas排序有两种方式,一种是对索引进行排序,另一种是对内容进行排序

3.1 DataFrame排序

  • df.sort_values(by=, ascending=):单个键(列名)或多个键进行排序
    • by:指定排序参考的键
    • ascending:指定升序或降序
      • ascending=True:默认升序
      • ascending=False:降序
  • df.sort_index():给索引进行排序

代码如下 

data2.sort_values(by='第三列')  # 默认ascending=True,即升序排序

data2.sort_values(by='第三列', ascending=False)   # 根据第三列降序排序

data2.sort_values(by=['第一列', '第四列'], ascending=False)    # 根据多列降序排序

data2.sort_index()   # 给索引进行排序

操作演示 

3.2 Series排序

  • series.sort_values(ascending=True):series排序时,只有一列,不需要参数
  • series.sort_index(ascending=):根据索引排序,ascending指定升序或降序,默认升序

代码如下 

data2['第四列'].sort_values()    # 默认ascending=True,即将第四列升序排序

data2['第四列'].sort_values(ascending=False)    # ascending=False,将第四列降序排序

data2['第四列'].sort_index(ascending=False)    # ascending=False,根据索引将第四列降序排序

data2['第四列'].sort_index()    # 默认ascending=True,根据索引将第四列升序排序

操作演示 

 学习导航:http://xqnav.top/​​​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/37964.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL数据库表空间回收问题

MySQL数据库表空间回收问题1. MySQL表空间回收2. MySQL表空间设置3. MySQL删除数据流程4. MySQL数据页空洞问题1. MySQL表空间回收 我们经常会发现一个问题,就是把表数据删除以后发现,数据文件大小并没有变化,这就是标题中所说的MySQL数据库…

Numpy数组中的维度和轴

维度究竟是行数还是列数? m维行向量:m维表示一行中有m列,由于是行向量,所以是1行m列n维列向量:n维表示一行中有n行,由于是列向量,所以是n行1列m维向量:看书的习惯了,一般…

APS生产计划排产 — 排产结果拉动模具工装需求计划

APS生产计划排产系统,对所有资源具有同步的,实时的,具有约束能力的,模拟能力,不论是物料,机器设备,人员,供应,客户需求,运输等影响计划因素。不论是长期的或短…

【CNN-SVM回归预测】基于CNN-SVM实现数据回归预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

JavaWeb开发之——多表查询(21)

一 概述 多表查询—简介多表查询—内连接&外连接多表查询—子查询 二 多表查询—简介 2.1 概念 多表查询顾名思义就是从多张表中一次性的查询出我们想要的数据。 2.2 SQL数据准备 DROP TABLE IF EXISTS emp; DROP TABLE IF EXISTS dept; # 创建部门表 CREATE TABLE de…

Word2Vec 实践

Word2Vec 实践 gensim库使用 这里的Word2Vec借助 gensim 库实现,首先安装pip install gensim3.8.3 from gensim.models.word2vec import Word2Vecmodel Word2Vec(sentencesNone, size100, alpha0.025, window5, min_count5,max_vocab_sizeNone, sample1e-3, …

【Java第34期】:Bean的六种作用域

作者:有只小猪飞走啦 博客地址:https://blog.csdn.net/m0_62262008?typeblog 内容:介绍Bean的六种作用域的效果以及适用场景 文章目录前言一,作用域定义以及Bean的六种作用域是什么?二,singleton&#x…

深度学习(20):nerf论文翻译与学习

目录 1 Introduction 2 Related Work 3 Neural Radiance Field Scene Representation 4 Volume Rendering with Radiance Fields 5 Optimizing a Neural Radiance Field 5.1 Positional encoding 5.2 Hierarchical volume sampling 5.3 Implementation details 6 Resu…

项目问题参考答案

文章目录项目业务的功能:1 完成部门管理模块(大致有药剂部门,诊疗部门、护理部门,后勤部门),2.在药品搜索模块,根据业务的需求,我封装了正则实现了模糊搜索,防抖工具函数…

分享105个NET源码ASP源码,总有一款适合您

分享105个NET源码,总有一款适合您 源码下载链接:https://pan.baidu.com/s/1zFMIHX6juXdR2CaHMEr5mQ?pwdf5hz 提取码:f5hz 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后…

力扣(LeetCode)81. 搜索旋转排序数组 II(C++)

线性探测二分查找 本题和 力扣(LeetCode)33. 搜索旋转排序数组(C) 的唯一区别是有重复元素,思考我们之前的二分条件,是根据 nums[0]nums[0]nums[0] 和 nums[mid]nums[mid]nums[mid] 判断 midmidmid 哪一端有序,但是现在可能出现 nums[0]nums…

Metabase学习教程:视图-7

创建数据透视表 了解如何使用Metabase中的不同数据库创建透视表。 什么是透视表?数据透视表是一种汇总和分组数据的表格方式。它们是分析师工具箱中的一个有价值的工具,因为它们是展示和重新安排大量信息的有效方法。它们的工作原理如下: …

中华传统文化题材网页设计主题:基于HTML+CSS设计放飞青春梦想网页【学生网页设计作业源码】

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

应用ceph块存储(ceph-13.2.10)

记录:334 场景:在CentOS 7.9操作系统上,部署ceph-13.2.10集群。应用ceph块设备(ceph block device);主要是创建ceph块存储、块存储分区、在线扩容、离线缩容、删除块存储等操作。 版本: 操作系统:CentOS…

gateway网关转发请求到nacos不同namespace和不同group下服务实例源码改造

问题 gateway转发请求到微服务,报错误页面,错误信息如下所示: There was an unexpected error (typeService Unavailable, status503). Unable to find instance xxx 报错信息显示找不到应用实例。即gateway无法在nacos实例中获取到路由配置的对应实例…

2021 XV6 5:Copy-on-Write Fork

目录 1.概述 2.修改uvmcopy 3.修改trap.c 4.引用计数机制 5.修改copyout 6.结果 1.概述 首先,这是一个很有意义的性能优化方案。 提出的背景是,如果我们每次fork的时候,都完整分配一系列物理页把父进程的内容拷贝进来,是一…

【SpringBoot】定制⾃⼰的 Health Indicator

Spring Boot ⾃带的 Health Indicator ⽬的 检查应⽤程序的运⾏状态 状态 DOWN - 503OUT_OF_SERVICE - 503UP - 200UNKNOWN - 200 机制 通过 HealthIndicatorRegistry 收集信息HealthIndicator 实现具体检查逻辑 配置项 management.health.defaults.enabledtrue|falsem…

【学习笔记】Reids的哨兵机制

【学习笔记】Reids的哨兵机制 文章目录【学习笔记】Reids的哨兵机制前言什么是哨兵机制?如何判断主库是否挂掉?主从库的切换和消息的通知前言 什么是哨兵机制? 哨兵机制(sentinel) 是Redis解决高可用的一种解决方案&a…

视频会议解决方案-最新全套文件

视频会议解决方案-最新全套文件一、建设背景二、建设思路业务挑战三、建设方案四、获取 - 视频会议全套最新解决方案合集一、建设背景 随着中国经济的迅速发展,很多企业的发展也进入快车道,分支机构越来越多,形成了遍布全国范围甚至全球范围…

Echarts:惊艳的Map

大家在网上看天气预报的时候应该就看到过在中国地图上显示不同省份的温度,并根据温度的高低显示不同的颜色,又或者看到各个省份的新冠肺炎新增人数,根据不同的新增人数显示不同的颜色之类的图像。这些,使用echarts中的map就可以实…