Pandas中df常用方法介绍

news/2024/11/13 15:03:46/

目录

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

常用方法

df.columns

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

基本语法如下:

python">df.columns

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

示例:

python">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 的行标签(行索引)。

基本语法如下:

python">df.index

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

示例:

python">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 的值。

基本语法如下:

python">df.values

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

示例:

python">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 进行转置操作,即将行和列进行互换。

基本语法如下:

python">df.T

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

示例:

python">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 进行排序。

基本语法如下:

python">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。

示例:

python">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 进行排序。

基本语法如下:

python">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。

示例:

python">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

案例

python">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

http://www.ppmy.cn/news/1528271.html

相关文章

卡牌抽卡机小程序:市场发展下的创新

今年以来,卡牌成为了行业中的黑马,在国内迅速流行,成为消费者的心头好。小小的卡牌创下了百亿的市场规模,发展前景巨大! 不过,随着卡牌市场的不断增长,市场发展也需要进行创新。线上抽卡机小程…

线阵相机的参数选型计算

一、要求 如果测量物体的宽度为1800mm,精度1毫米、运动速度25000mm/s。 1. 相机分辨率的确定 幅宽与像素的关系:客户要求的幅宽是1800毫米,精度是1毫米。理论上,如果每个像素对应1毫米,那么相机至少需要1800个像素来覆盖整个幅…

FGT-KVM虚拟机安装步骤

根据FortiOS release note要求,KVM要求的安装条件CentOS 6.4 (qemu 0.12.1) or later。 1.安装CentOS 6.5 CentOS-6.5-x86_64-LiveDVD.iso 下载种子: 2.是否支持虚拟机 egrep ‘(vmx|svm)’ --coloralways /proc/cpuinfo [rootlocalhost ~]# egrep ‘(vmx|svm)’…

rabbitmq容器化部署

目录 需求 容器化部署rabbitmq服务 部署服务 验证及访问服务 rabbitmq配置LTS 服务验证 rabbitmq配置集群 部署集群 1、创建一个存放配置文件的目录 2、创建配置文件 3、部署各个节点 集群验证 需求 容器化部署rabbitmq服务 基础版本 系统ubuntu 24,docke…

2025秋招LLM大模型多模态面试题(六)-KV缓存

目录 为什么Transformer推理需要KV缓存?KV缓存的具体实现 没有缓存的情况下使用缓存的情况下KV缓存在解码中的阶段划分 Prefil阶段Decoding阶段KV缓存的存储类型及显存占用计算KV缓存的局限与优化策略 超长文本与复杂模型场景下的瓶颈量化方案的应用量化方案的副作用与优化方法…

java线程工具-CountDownLatch和CyclicBarrier使用详解

文章目录 CountDownLatch概念主要方法用途示例代码CyclicBarrier概念主要方法用途示例代码比较CountDownLatch 和 CyclicBarrier 都是 Java 并发包 java.util.concurrent 中提供的同步辅助类,用于协调多线程程序中的线程执行顺序。尽管它们有相似之处,但各自的设计目的和使…

搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(三)-文档

文档 文档服务负责写入,包括批量;id获取文档;nested写入 写入文档 写入文档主要是构建IndexRequest,索引请求 Elasticsearch v8构建文档索引请求简单很多,可以直接接受Map数据 批量写入文档 批量操作可以融合增删改…

如何写数学建模竞赛论文

撰写数学建模论文的重要性不言而喻,它直接决定了成绩的好坏和获奖级别的高低。论文是竞赛成果的书面体现,同时也是科技写作的基础训练。评审论文的标准包括假设的合理性、建模的创新性、结果的合理性以及表述的清晰性。 一、论文的基本内容和需要注意的…