IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> pandas数据框loc属性语法及示例 -> 正文阅读

[人工智能]pandas数据框loc属性语法及示例

pandas.DataFrame.loc[] 是数据框的属性,通过指定标签或布尔数组来访问数据框的一组行和列。pandas.DataFrame是带有轴标签的二维表数据结构,如列和行。从数据框选择列结果是新的数据框,它仅包括特性从原数据框中选择的列。

pandas.DataFrame.loc 的关键说明:

  • loc用于通过标签选择或过滤行和列
  • 当选择行时,选哟提供索引标签
  • 也提供了其他方法选择行和列,如:范围、交替选择
    在这里插入图片描述

pandas.DataFrame.loc[] 语法及用法

loc用于通过数据框的名称(标签)选择行列,是数据框最常用的属性。数据框的主要优点是容易使用,当你使用pandas.DataFrame.loc[] 属性去选择或过滤数据框时,你会认同这个优势。

df.loc[start:stop:step, start:stop:step]

第一个start:stop:step用于通过名称或标签选择行,后面的用于通过名称或标签选择列。

  • start 是行列标签的名称
  • stop 是最后一个取用的行列标签的名称
  • step 是每次抽取后索引前进数量
    在这里插入图片描述

关键点说明:

  • 不指定start行列,loc[]从起始点开始
  • 不指定stop,loc[]从开始标签起选择所有行列
  • 同时提供start和stop,选择两种之间的所有行列

下面创建数据框,并学习如何使用loc[]。

import pandas as pd
technologies = {
    'Courses':["Spark","PySpark","Hadoop","Python","pandas"],
    'Fee' :[20000,25000,26000,22000,24000],
    'Duration':['30day','40days','35days','40days','60days'],
    'Discount':[1000,2300,1200,2500,2000]
              }
index_labels=['r1','r2','r3','r4','r5']
df = pd.DataFrame(technologies,index=index_labels)
print(df)

# Outputs
#r1    Spark  20000    30day      1000
#r2  PySpark  25000   40days      2300
#r3   Hadoop  26000   35days      1200
#r4   Python  22000   40days      2500
#r5   pandas  24000   60days      2000

loc示例

下面通过几个实例展示如何使用loc.

通过标签选择单行/列

loc可以通过标签选择行、列,也支持选择多行、列,即两行之间的记录,两列之间列。下面示例通过标签选择行列:

# 选择第一行的所有列
print(df.loc['r1', :])

# Courses     Spark
# Fee         20000
# Duration    30day
# Discount     1000
# Name: r1, dtype: object



# 选择所有行的Courses列
print(df.loc[:, "Courses"])

#Outputs
#    Courses
#r1    Spark
#r2  PySpark
#r3   Hadoop
#r4   Python
#r5   pandas

选择多行/列


下面示例使用loc属性通过标签选择多行/列:

# 通过标签选择多行
print(df.loc[['r2','r3']])

# Outputs
#    Courses    Fee Duration  Discount
#r2  PySpark  25000   40days      2300
#r3   Hadoop  26000   35days      1200


# 通过标签选择多列
print(df.loc[:, ["Courses","Fee","Discount"]])

# Outputs
#    Courses    Fee  Discount
#r1    Spark  20000      1000
#r2  PySpark  25000      2300
#r3   Hadoop  26000      1200
#r4   Python  22000      2500
#r5   pandas  24000      2000

范围选择

loc支持范围选择,指定两个标签,返回包括两者之间的所有行或列:

# 指定俩个行标签,返回包括两者之间的行记录
print(df.loc['r1':'r4'])

# 输出结果
#    Courses    Fee Duration  Discount
#r1    Spark  20000    30day      1000
#r2  PySpark  25000   40days      2300
#r3   Hadoop  26000   35days      1200
#r4   Python  22000   40days      2500

# 选择两个列之间的所有列
print(df.loc[:,'Fee':'Discount'])

# 输出结果
#      Fee Duration  Discount
#r1  20000    30day      1000
#r2  25000   40days      2300
#r3  26000   35days      1200
#r4  22000   40days      2500
#r5  24000   60days      2000

交替选择

与范围类型,loc也支持交替选择:


# 按行交替选择,每两行选一次
print(df.loc['r1':'r4':2])

# 输出结果:
#   Courses    Fee Duration  Discount
#r1   Spark  20000    30day      1000
#r3  Hadoop  26000   35days      1200

# 交替选择列
print(df.loc[:,'Fee':'Discount':2])

# 输出结果:
#      Fee  Discount
#r1  20000      1000
#r2  25000      2300
#r3  26000      1200
#r4  22000      2500
#r5  24000      2000

需要特别说明的是step还支持负数,表示逆序选择:

import pandas as pd

print(df.loc[::-1, :])

#     Courses    Fee Duration  Discount
# r5   pandas  24000   60days      2000
# r4   Python  22000   40days      2500
# r3   Hadoop  26000   35days      1200
# r2  PySpark  25000   40days      2300
# r1    Spark  20000    30day      1000

我们看到结果正好逆序输出,读者也可以尝试修改-1为其他负数理解反向交替选择的机理。

条件选择

根据条件选择:

# 使用条件,选择fee列大于24000的记录
print(df.loc[df['Fee'] >= 24000])

# 输出结果
#    Courses    Fee Duration  Discount
#r2  PySpark  25000   40days      2300
#r3   Hadoop  26000   35days      1200
#r5   pandas  24000   60days      2000

总结

本文学习了pandas数据框的loc语法及其用法,并通过示例展示了如何选择/过滤行列数据。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-08 19:03:35  更:2022-06-08 19:06:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:55:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码