当前位置: 首页 > news >正文

Pandas中df常用方法介绍

目录

  • 常用方法
    • df.columns
    • df.index
    • df.values
    • df.T
    • df.sort_index()
    • df.sort_values()
  • 案例

常用方法

df.columns

df.columns 是 Pandas 中 DataFrame 对象的一个属性,用于获取 DataFrame 中的列标签(列名)。

基本语法如下:

df.columns

该属性返回一个包含 DataFrame 中所有列标签的 Index 对象,您可以将其视为一个包含列标签的列表。

示例:

import pandas as pd# 创建一个 DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)# 获取 DataFrame 的列标签
columns = df.columns
print(columns)
Index(['A', 'B'], dtype='object')

df.index

df.index 是 Pandas 中 DataFrame 对象的一个属性,用于获取 DataFrame 的行标签(行索引)。

基本语法如下:

df.index

该属性返回一个表示 DataFrame 的行索引的 Index 对象,类似于一个包含行标签的列表。

示例:

import pandas as pd# 创建一个 DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)# 获取 DataFrame 的行索引
index = df.index
print(index)RangeIndex(start=0, stop=3, step=1)

df.values

df.values 是 Pandas 中 DataFrame 对象的一个属性,用于获取 DataFrame 中的数据部分,即 DataFrame 的值。

基本语法如下:

df.values

该属性返回一个包含 DataFrame 中所有数据的 NumPy 数组。每行代表 DataFrame 中的一行数据,每列代表 DataFrame 中的一列数据。

示例:

import pandas as pd# 创建一个 DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)# 获取 DataFrame 的值
df_values = df.values
print(df_values)[[1 4][2 5][3 6]]

df.T

df.T 是 Pandas 中 DataFrame 对象的一个属性,用于对 DataFrame 进行转置操作,即将行和列进行互换。

基本语法如下:

df.T

该属性返回一个新的 DataFrame,新的 DataFrame 中的行标签(行索引)变为原 DataFrame 的列标签(列名),列标签(列名)变为原 DataFrame 的行标签(行索引)。

示例:

import pandas as pd# 创建一个 DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)# 对 DataFrame 进行转置操作
df_transposed = df.T
print(df_transposed)0  1  2
A  1  2  3
B  4  5  6

df.sort_index()

df.sort_index() 是 Pandas 中 DataFrame 对象的一个方法,用于根据行索引或列索引对 DataFrame 进行排序。

基本语法如下:

df.sort_index(axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, ignore_index=False)

其中,常用的参数包括:

  1. axis:用于指定按行索引(axis=0)还是列索引(axis=1)进行排序。
  2. ascending:用于指定排序的顺序,True表示升序,False 表示降序。
  3. inplace:用于指定是否在原地修改 DataFrame,True 表示在原地修改,False表示返回一个新的排序后的 DataFrame。

示例:

import pandas as pd# 创建一个 DataFrame
data = {'A': [1, 3, 2], 'B': [4, 6, 5]}
df = pd.DataFrame(data, index=['c', 'a', 'b'])# 根据行索引排序
sorted_df = df.sort_index()
print(sorted_df)A  B
a  3  6
b  2  5
c  1  4

df.sort_values()

df.sort_values() 是 Pandas 中 DataFrame 对象的一个方法,用于根据列中的值对 DataFrame 进行排序。

基本语法如下:

df.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False)

其中,常用的参数包括:

  1. by:指定按照哪一列或多列的值进行排序。
  2. axis:用于指定按行(axis=0)还是按列(axis=1)进行排序。
  3. ascending:用于指定排序的顺序,True 表示升序,False 表示降序。
  4. inplace:用于指定是否在原地修改DataFrame,True 表示在原地修改,False 表示返回一个新的排序后的 DataFrame。

示例:

import pandas as pd# 创建一个 DataFrame
data = {'A': [3, 1, 2], 'B': [6, 4, 5]}
df = pd.DataFrame(data)# 根据列'A'的值进行排序
sorted_df = df.sort_values(by='A')
print(sorted_df)A  B
1  1  4
2  2  5
0  3  6

案例

import pandas as pd
import numpy as npdf2 =pd.DataFrame({'A':1,
'B':pd.Timestamp('20160102'),
'C':pd.Series(1,index=list(range(4)),dtype='float32'),
'D':np.array([3]*4,dtype='int32'),
'E':pd.Categorical(['test','train','test','train']),
'F':'foo'
})print(df2)
#print(df2.columns)
#print(df2.values)
#print(df2.index)
#print(df2.T)
print(df2.sort_index(axis=1,ascending =False))print(df2.sort_index(axis=0,ascending =False))print(df2.sort_values(by='E'))A          B    C  D      E    F
0  1 2016-01-02  1.0  3   test  foo
1  1 2016-01-02  1.0  3  train  foo
2  1 2016-01-02  1.0  3   test  foo
3  1 2016-01-02  1.0  3  train  fooF      E  D    C          B  A
0  foo   test  3  1.0 2016-01-02  1
1  foo  train  3  1.0 2016-01-02  1
2  foo   test  3  1.0 2016-01-02  1
3  foo  train  3  1.0 2016-01-02  1A          B    C  D      E    F
3  1 2016-01-02  1.0  3  train  foo
2  1 2016-01-02  1.0  3   test  foo
1  1 2016-01-02  1.0  3  train  foo
0  1 2016-01-02  1.0  3   test  fooA          B    C  D      E    F
0  1 2016-01-02  1.0  3   test  foo
2  1 2016-01-02  1.0  3   test  foo
1  1 2016-01-02  1.0  3  train  foo
3  1 2016-01-02  1.0  3  train  foo

相关文章:

Pandas中df常用方法介绍

目录 常用方法df.columnsdf.indexdf.valuesdf.Tdf.sort_index()df.sort_values() 案例 常用方法 df.columns df.columns 是 Pandas 中 DataFrame 对象的一个属性,用于获取 DataFrame 中的列标签(列名)。 基本语法如下: df.col…...

LabVIEW中AVI帧转图像数据

在LabVIEW中,有时需要将AVI视频文件的帧转换为图像数据进行进一步处理。下面详细讲解了如何从AVI视频提取单帧并将其转换为图像数据集群,以便与其他图像处理VI兼容。 问题背景: 用户已经拥有能够处理JPEG图像数据集群的VI,现在希…...

并发与并行的区别:深入理解Go语言中的核心概念

在编程中,并发与并行的区别往往被忽视或误解。很多开发者在谈论这两个概念时,常常把它们混为一谈,认为它们都指“多个任务同时运行”。但实际上,这种说法并不完全正确。如果我们深入探讨并发和并行的区别,会发现它不仅是词语上的不同,更是编程中非常重要的抽象层次,特别…...

小小扑克牌算法

1.定义一个扑克牌类Card: package democard; public class Card {public String suit;//表示花色public int rank;//表示牌点数Overridepublic String toString() {return "{"suit rank"}";}//实例方法,初始化牌的点数和花色public…...

【第34章】Spring Cloud之SkyWalking分布式日志

文章目录 前言一、准备1. 引入依赖 二、日志配置1. 打印追踪ID2. gRPC 导出 三、完整日志配置四、日志展示1. 前端2. 后端 总结 前言 前面已经完成了请求的链路追踪,这里我们通过SkyWalking来处理分布式日志; 场景描述:我们有三个服务消费者…...

easy-es动态索引支持

背景 很多项目目前都引入了es,由于es弥补了mysql存储及搜索查询的局限性,随着技术的不断迭代,原生的es客户端使用比较繁琐不直观,上手代价有点大,所以easy-es框架就面世了,学习成本很低,有空大…...

SWC(Speedy Web Compiler)

概述 SWC 由 Rust 编写, 既可用于编译,也可用于打包。 对于编译,它使用现代 JavaScript 功能获取 JavaScript / TypeScript 文件并输出所有主流浏览器支持的有效代码。 SWC在单线程上比 Babel 快 20 倍,在四核上快 70 倍。 简…...

【计算机网络】传输层协议UDP

目录 一、端口号1.1 端口号范围划分1.2 认识知名端口号 二、UDP协议2.1 UDP协议端格式2.2 UDP的特点2.3 UDP的缓冲区2.4 UDP使用注意事项2.5 基于UDP的应用层协议 一、端口号 传输层协议负责数据的传输,从发送端到接收端。端口号标识一个主机上进行通信的不同的应用…...

Docker+PyCharm远程调试环境隔离解决方案

DockerPyCharmMiniconda实现深度学习代码远程调试和环境隔离 本文详细介绍了如何在局域网环境下,利用Docker、PyCharm和Miniconda构建一个高效的深度学习远程调试平台。首先在服务器(server)上,通过Docker构建包含不同CUDA环境的镜…...

数字化转型的理论框架对比:从多维视角指导企业成功变革对比DPBOKIT4ITCOBITTOGAF

数字化转型的多维框架解析 在数字化时代,企业如何有效实现数字化转型已成为其生存和发展的关键问题。然而,市场上关于数字化管理的各种框架和理论并存,企业需要根据自身的需求选择最适合的指导路径。本文将通过对几个核心理论框架的对比&…...

【C++掌中宝】深入解析C++命名空间:有效管理代码的利器

文章目录 前言1. namespace 的价值2. namespace 的定义3. 命名空间的本质4. 嵌套的命名空间5. 命名空间的使用6. using 指令7. 补充结语 前言 假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,我们在使用名字之外&am…...

2024/9/21 leetcode 21.合并两个有序链表 2.两数相加

目录 21.合并两个有序链表 题目描述 题目链接 解题思路与代码 2.两数相加 题目描述 题目链接 解题思路与代码 --------------------------------------------------------------------------- 21.合并两个有序链表 题目描述 将两个升序链表合并为一个新的 升序 链表并返…...

Python学习的主要知识框架

Python的主要学习知识点非常广泛且深入,但我可以为您概括一些核心的学习领域,帮助您系统地掌握Python编程。以下是Python学习的主要知识框架: 1. Python基础语法 数据类型:整数、浮点数、字符串、布尔值、列表、元组、字典、集合…...

LLaMA-Factory 使用 alpaca 格式的数据集

LLaMA-Factory 使用 alpaca 格式的数据集 flyfish alpaca 格式最初与Stanford大学的一个研究项目相关联,该项目旨在通过少量高质量的数据来微调大型语言模型。它受到了Alpaca模型(一种基于LLaMA的指令跟随模型)的影响,该模型是在…...

【Mysql】Mysql数据库基础

1.❤️❤️前言~🥳🎉🎉🎉 Hello, Hello~ 亲爱的朋友们👋👋,这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章,请别吝啬你的点赞❤️❤️和收藏📖📖。如果你对我的…...

一文彻底让你搞懂轨迹规划(总结)

机器人在运行中不可避免的会进行运动,那么就会产生出轨迹规划的概念。 轨迹规划的特点:用一定的函数形式表示控制量(位置,速度,加速度)的控制律,根据约束或最优目标,求取控制控制参…...

windows C++ 并行编程-异步消息块(二)

overwrite_buffer 类 concurrency::overwrite_buffer 类与 unbounded_buffer 类类似,只不过 overwrite_buffer 对象仅存储一条消息。 此外,当目标接收来自 overwrite_buffer 对象的消息时,不会从缓冲区中删除该消息。 因此,多个目…...

【软件基础知识】什么是 API,详细解读

想象一下,你正在使用智能手机上的天气应用。你打开应用,瞬间就能看到实时天气、未来预报,甚至是空气质量指数。但你有没有想过,这些数据是如何神奇地出现在你的屏幕上的?答案就在三个字母中:API。 API,全称Application Programming Interface(应用程序编程接口),是现代软件世…...

计算机四级-计算机网络

一、基础知识 1.对计算机网络发展具有重要影响的广域网是:ARPANET 随机争用型的介质访问控制方法起源于:ALOHANET 2.计算机网络发展阶段: A)第一阶段的主要成果是计算机技术与通信技术的结合 B)第二阶段的主要成果…...

【linux 获取时间】

linux 获取时间接口 我们在开发调试过程中,可能遇到一些和调用时序相关的问题,为了查看哪个步骤先调用,哪个步骤后调用,我们可以使用函数打印或者主动trace堆栈…但是有的时候我们需要排查2个接口调用的时间间隔,我们可…...

Dockerfile部署xxljob

使用Dockerfile部署xxljob 1. 背景 我们在使用定时任务调度时,通常会使用xxljob容器化部署xxljob,通常使用 docker pull xuxueli/xxl-job-admin:2.4.0 拉取镜像并启动容器。这种方式对于x86架构服务器来说,没有任何问题。但是在arm架构的服…...

Conda新建python虚拟环境问题

Conda新建python虚拟环境问题: 【问题1】 conda create --name yolov8 python3.10 -y Retrieving notices: …working… done Channels: defaults Platform: win-64 Collecting package metadata (repodata.json): failed UnavailableInvalidChannel: HTTP 404 NO…...

这几个优秀的工具网站真心值得推荐——搜嗖工具箱

即时工具 https://www.67tool.com/ 这是一个专注提升效率的办公工具网站;这也是一个拥有260多款自研在线工具和200多个客户端离线工具的服务网站;这还是一个可以满足包括视频处理、音频处理、图片处理、文档处理、文档转换、办公辅助、图表生成、文本工…...

ESP32开发 -- VSCODE+PlatformIO环境安装

参看官网安装:PlatformIO IDE for VSCode 一、安装PlatformIO IDE 参看:日常生活小技巧 – Visual Studio Code 简单使用 扩展中搜索platformIO IDE 当安装完提示重启之后。 打开一个要创建新工程的文件夹: 点击 Create New Project&…...

MySQL--导入SQL文件(命令行导入)

MySQL--导入SQL文件 一、前言二、导入SQL文件 一、前言 用可视化编辑工具编写,并且在控制台输入命令行在MySQL中导入SQL文件。 在导入SQL文件之前查看了目前存在的数据库 **目标:**在可视化编辑工具(这里以word文档为例)中编写SQL语句&…...

【C#基础】函数传参大总结

目录 前言参数是值类型的情况1. 按值传递(Pass by Value)2. 按引用传递(Pass by Reference)使用 ref使用 in 3. 输出参数传递(Output Parameters)参数修饰符对比小结 参数是引用类型的情况1. 按值传递类对象…...

初学51单片机之IO口上下拉电阻相关

本案本来是描述一下I2C总线的,在此之前推荐一下B站一个UP关于时序图的讲解 I2C入门第一节-I2C的基本工作原理_哔哩哔哩_bilibili 不过在描述I2C前先简单的探讨下51单片机IO口下拉电阻的基本情况,事实上这个问题困扰笔者很长时间了,这次也是一…...

Resnet50网络——口腔癌病变识别

一 数据准备 1.导入数据 import matplotlib.pyplot as plt import tensorflow as tf import warnings as w w.filterwarnings(ignore) # 支持中文 plt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 plt.rcParams[axes.unicode_minus] False # 用来正常显示负…...

Python 中自动打开网页并点击[自动化脚本],Selenium

要在 Python 中自动打开网页并点击第一个 <a> 标签&#xff0c;你需要使用 Selenium&#xff0c;它可以控制浏览器并执行像点击这样的操作。requests 和 BeautifulSoup 只能获取并解析网页内容&#xff0c;但不能进行网页交互操作。 步骤&#xff1a; 安装 Selenium安装…...

Spring Boot-自动配置问题

**### Spring Boot自动配置问题探讨 Spring Boot 是当前 Java 后端开发中非常流行的框架&#xff0c;其核心特性之一便是“自动配置”&#xff08;Auto-Configuration&#xff09;。自动配置大大简化了应用开发过程&#xff0c;开发者不需要编写大量的 XML 配置或是繁琐的 Jav…...