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

【数据分析】.loc和.iloc的应用2

在处理和分析数据时,会遇到需要分析一行、多行数据和单个、多个元素的情况。此时,我们需要使用DataFrame对象中的.loc.iloc属性。

.loc 和.iloc属性

访问行数据

.loc属性读取行数据时,是基于行索引index的值。

分为两种情况:

1.数据未指定行索引:该属性通过默认index的值来访问行数据。

2.数据指定了行索引:该属性通过指定index的值来访问行数据。

Like

假如在读取电商数据时,我们指定了将 "order_id"(订单号)作为index的话,输出的数据如图所示。
这时候,index的值就是"order_id"(订单号):351571235157133515714...

在读取数据时,不管是使用默认index或指定index,访问行数据的方式都一样。

接下来,我们通过指定了index的例子,来学习.loc属性访问行数据。

1. 访问某一行

格式:.loc[index的值]

如图,如果要访问某一行的数据,需要将这一行的index的值传入.loc属性的中括号里。

示例中,我们读取路径是 "/Users/yequ/电商数据清洗.csv" 的CSV文件,并指定"order_id"列为index,然后访问订单号 3515712 这一行数据。

import pandas as pd

# 使用pd.read_csv()函数读取CSV文件

# 并通过参数index_col来指定"order_id"列为index

# 将结果赋值给变量data

data = pd.read_csv("/Users/yequ/电商数据清洗.csv", index_col="order_id")

# 使用print().loc属性输出data变量里 3515712 这一行的数据

print(data.loc[3515712])

id                             1

user_id                 34982388

payment                     6200

price                       6200

items_count                    4

cutdown_price                  0

post_fee                       0

pay_type                     202

create_time      2018/1/31 16:06

pay_time         2018/1/31 16:06

Name: 3515712, dtype: object

总结:访问变量data中的某一行数据的具体操作是:在变量data之后添加代码.loc 中括号[]和对应的index的值。

2. 访问连续的某几行

格式:.loc[起点index的值:结束index的值]

如果想获取连续的几行数据时,我们可以使用.loc属性和切片进行访问:

示例中,访问第1行(index的值是3515712)到第5行的代码为:data.loc[3515712:3515716]

注意:使用.loc属性的切片,包含结束index的值。

比如:data.loc[3515712:3515716]表示:访问data中,index从3515712到3515716的行数据,包含3515716这一行数据。

代码示例:

import pandas as pd

# 使用pd.read_csv()函数读取CSV文件

# 并通过参数index_col来指定"order_id"列为index

# 将结果赋值给变量data

data = pd.read_csv("/Users/yequ/电商数据清洗.csv", index_col="order_id")

# 使用print()和.loc属性输出订单号3515712到3515716的数据

print(data.loc[3515712:3515716])

总结:

1.访问数据中连续的某几行数据需要使用:.loc[起点index的值:结束index的值]
2.返回的数据包含结束index的值对应的行数据。

3. 访问不连续的某几行

格式:.loc[[第一个index的值,第二个index的值,...]]

如果要访问多行不连续的数据,需要将包含对应index的值的列表传入 .loc属性的 中括号 里。

import pandas as pd

# 使用pd.read_csv()函数读取CSV文件

# 并通过参数index_col来指定"order_id"列为index

# 将结果赋值给变量data

data = pd.read_csv("/Users/yequ/电商数据清洗.csv", index_col="order_id")

# TODO 使用print()和.loc属性输出data变量里订单号为1,2和 3 的行数据

print(data.loc[[1,2,3]])

PS:因为传入了列表,所以有两对中括号

总结:访问数据中不连续的某几行需要使用: .loc[[第一个index的值,第二个index的值,...]]


http://www.kler.cn/a/589474.html

相关文章:

  • 数据结构——串、数组和广义表
  • 【MM】2025投稿重点记录
  • AcWing 5960:输出前k大的数 ← 小根堆
  • 快速方便的Docker下载,包含Win、Mac
  • 汇编基础知识
  • 东方通TongHttpServer:企业级服务代理中间件的卓越之选
  • 泛型主要是用于静态类型检查的工具,它并不会在运行时自动验证返回值类型和传入类型是否一致
  • Linux驱动学习笔记(二)
  • Androidstudio实现一个app引导页(超详细)
  • 三维重建(十七)——obj文件解读+ply文件解读
  • C++ 位图 bitset
  • 使用 netstat 和 tasklist 命令排查端口占用问题
  • 解决前端文字超高度有滚动条的情况下padding失效(el-scrollbar)使用
  • 【愚公系列】《高效使用DeepSeek》012-合同文档合规性检查
  • spring中将yaml文件转换为Properties
  • 【Kubernetes】Kubernetes 如何进行容器编排和调度?如何使用 kubectl`创建和管理 Pod、Deployment、Service?
  • 51单片机指令系统入门
  • 国产编辑器EverEdit - 命令窗口的使用
  • CRTP奇异递归模板模式
  • SSM框架——Spring面试题