Pandas中df常用方法介绍

news2024/9/20 20:20:44

目录

  • 常用方法
    • 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 np

df2 =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  foo
     F      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  1
   A          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  foo
   A          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

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

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

相关文章

【JavaScript】数据结构之链表(双指针、滑动窗口)

什么是链表? 多个元素存储的列表链表中的元素在内存中不是顺序存储的,而是通过“next”指针联系在一起的,这个“next”可以自定义。JS中的原型链原理就是链表结构,是通过__proto__指针联系在一起的。 双指针形式 对撞指针&am…

分布式事务一致性:本地消息表设计与实践

概念 本地消息表是一种常见的解决分布式事务问题的方法。其核心思想是将分布式事务拆分成本地事务来处理,通过消息队列来保证各个本地事务的最终一致性。 实现步骤 创建本地消息表:在数据库中创建一个本地消息表,用于存储待发送的消息以及消…

【图像检索】基于灰度共生矩的纹理图像检索,matlab实现

博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于灰度共生矩的纹理图像检索,用matlab实现。 一、案例背景和算法介绍 …

从“群聊”到“一单到底”,天润融通工单系统助力品牌服务升级

“您好,我在xx店买的酸奶出现了质量问题,怎么处理?” “你们xx门店的服务态度怎么那么差啊,我要投诉!” “您好,xx店的微波炉总是坏的,店员根本不管!” 这些耳熟能详的抱怨&#…

【qt】一个WPS项目了解qt界面设计的基本套路

项目功能演示: 放心食用!最后有完整代码. 超级详细,期待您的一个点赞❥(^_-) 一览全局: WPS项目目录 一.创建项目二.导入资源三.ui设计四.字号选择框初始化五.滚动条初始化六.添加自定义文本类七.初始化action状态八.新建文档九.打开文件十.保存与另存为十一.打印/打印预览十…

MySQL高阶1867-最大数量高于平均水平的订单

目录 题目 准备数据 分析数据 题目 您正在运行一个电子商务网站,该网站正在寻找不平衡的订单。不平衡订单的订单最大数量严格大于每个订单(包括订单本身)的平均数量。 订单的平均数量计算为(订单中所有产品的总数量&#xff…

visionpro脚本

visionproToolBlock的脚本的优先级优于工具连线的优先级,一般是照着脚本的执行顺序进行执行对应的工具,最常用的是C#的高级脚本,C#的脚本如下分为5部分。 第一部分:主要是一些库的引用,对于有些类型不知道库的时候&…

14_Python面向对象

面向过程与面向对象 在编程范式(programming paradigms)中,面向过程(Procedural Programming)和面向对象(Object-Oriented Programming,简称OOP)是两种主要的编程风格。 Python是一…

【医学半监督】置信度指导遮蔽学习的半监督医学图像分割

摘要: 半监督学习(Semi-supervised learning)旨在利用少数标记数据和多数未标记数据训练出高性能模型。现有方法大多采用预测任务机制,在一致性或伪标签的约束下获得精确的分割图,但该机制通常无法克服确认偏差。针对这一问题,本文提出了一种用于半监督医学图像分割的新…

(十六)Ubuntu 20.04 下搭建PX4+MATLAB 仿真环境(HITL)

在文章(十五)Ubuntu 20.04 下搭建PX4MATLAB 仿真环境我们学习了如何配置仿真环境,在本节,主要进行HITL的仿真环境搭建。 根据(十五)Ubuntu 20.04 下搭建PX4MATLAB 仿真环境完成配置到如下界面:…

志邦家居CIO吴俊涛谈转型:天润融通如何赋能家居行业未来

根据国家统计局、住建部等各部门综合数据显示,2024年国内泛家居全渠道销售额在预计将超过4.7万亿元,并且在存量房需求释放与智能家居品类创新的推动下,预计2027年将突破5.3万亿元,展现出强劲的增长弹性。 然而,家居行…

【matlab】将程序打包为exe文件(matlab r2023a为例)

文章目录 一、安装运行时环境1.1 安装1.2 简介 二、打包三、打包文件为什么很大 一、安装运行时环境 使用 Application Compiler 来将程序打包为exe,相当于你使用C编译器把C语言编译成可执行程序。 在matlab菜单栏–App下面可以看到Application Compiler。 或者在…

mybatisplus逻辑删除

逻辑删除配置 mybatis-plus:global-config:db-config:logic-delete-field: deletedlogic-not-delete-value:0logic-delete-value:1 查询语句也会自动加上where isdeleted0

FedOV

3 FEDOV: ONE-SHOT FEDERATED OPEN-SET VOTING FRAMEWORK 3.1 PROBLEM STATEMENT 假设有个客户端及其本地数据集。我们的目标是在服务器的帮助下,在不交换原始数据的情况下,训练一个优秀的机器学习模型 。此外,每个客户端只允许与服务器进行…

Linux 删除文件不释放空间问题处理

背景: 服务器磁盘空间已经达到100%,删除存放日志路径下的文件后,发现空间并未释放! 原因:在linux系统中,通过rm删除文件将会从文件系统的文件夹结构上解除链接(unlink)然后删除,然而假设文件是被…

基于存内计算架构的模型部署与映射优化

先进计算大赛背景: ‘’存内计算”架构通过消除存储与计算单元间的物理距离,突破传统冯诺依曼架构的限制,自2016年起受到广泛关注,被视为国产算力发展的关键技术。 ​ 在存内计算架构中,权重布局对提高存算单元利用率…

VBA技术资料MF198:禁用下拉拖放

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…

c++ day01

格式化输入 #include <iostream> #include<iomanip> using namespace std;int main() {double num1090.123456;cout<<"num"<<num<<endl;cout<<oct<<"num"<<num<<endl;cout<<hex<<&qu…

【C#】内存的使用和释放

在 C# 中&#xff0c;内存管理主要是由 .NET 的垃圾回收器&#xff08;Garbage Collector, GC&#xff09;自动处理的。然而&#xff0c;了解如何正确地使用和释放内存对于编写高效且可靠的代码非常重要。以下是一些关键点和最佳实践&#xff1a; 1. 内存分配 托管资源&#x…

如何查询论文的SCI检索号?

一、登录Web of Science 不要自己登录&#xff0c;需要选择机构为CHINA CERNET Federation&#xff0c;否则无法查询文章。 然后转到机构&#xff0c;选择对应的大学。 更具对应文章名查询文献。 二、查询文献名