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

【数据分析】数据筛选与访问行列元素3

访问元素

.loc属性可以通过传入index的值访问行数据。

.loc属性允许传入两个参数,分别是index的值columns的值,参数间用“逗号”隔开,这样便可以访问数据中的元素。

1. 访问单个元素

访问单个元素比较简单,只需要通过它的index和columns就可以进行定位。

访问单个元素,需要依次将它的index的值和columns的值传入.loc的中括号里,用“逗号”隔开。

格式:.loc[index的值,columns的值]

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变量里:index为3515712,columns为"payment"对应的元素

print(data.loc[3515712,"payment"])

218378912

总结:访问变量data中的单个数据的格式是:data.loc[index的值,columns的值]

2. 访问多个元素

同理,如果想访问多个元素,我们只需要找到它们对应的index和columns即可。

如果想访问多个元素,我们可以使用.loc属性结合切片或列表进行访问,组合情况较多。

格式:.loc[index切片或列表,columns切片或列表]

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变量里:index为3515712到3515714,columns为"payment"对应的元素

print(data.loc[3515712:3515714,"payment":"items_count"])

总结:

按照index的值访问行数据

访问DataFrame对象中的.loc属性可以按照index的值访问行数据。
1.访问某一行.loc[index的值]
2.访问连续某几行.loc[起点index的值:结束index的值]包含结束index这一行值
3.访问不连续某几行.loc[[第一个index的值,第二个index的值,...]]
4.访问单个元素.loc[index的值,columns的值]
5.访问多个元素.loc[index切片或列表,columns切片或列表]

上面,用.loc属性和index的值访问行数据。

其实,除了通过index的值去定位,我们还可以通过"第几行"去定位行数据。下面,通过学习.iloc属性和行数据的位置来访问行数据。

访问行数据

.iloc属性是基于数据的整数索引,也就是数据的具体位置,来定位具体的行。索引是从0开始,所以,第1行对应的整数索引就是0。

1.访问某一行

格式:.iloc[index的位置]

如果要通过行数据所在的具体位置来访问某一行数据,需要将这一行的整数索引传入.iloc属性的中括号里。

Like:访问第1行(对应的整数索引是0);访问第3行(对应的整数索引是2)

# 导入pandas模块,并以"pd"为该模块的简写

import pandas as pd

# 读取CSV文件,并将结果赋值给变量data

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

# 使用print()和.iloc属性输出data变量里第四行的数据

print(data.iloc[3])

id                           4

order_id               3515715

user_id               46519215

payment                   8500

price                     8500

items_count                  4

cutdown_price                0

post_fee                     0

pay_type                   202

create_time      2018/2/1 0:05

pay_time         2018/2/1 0:05

Name: 3, dtype: object

总结:通过行位置来访问某一行的数据需要使用:.iloc[index]。其中,index是(具体位置-1)。

2.访问连续的某几行

格式:.iloc[index起点位置:index结束位置]

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

示例中,访问第2行到第4行(索引是1到3)的代码data.iloc[1:4]

注意:和之前不一样,使用.iloc属性的切片,不包含结束index的值。

# 导入pandas模块,并以"pd"为该模块的简写

import pandas as pd

# 读取CSV文件,并将结果赋值给变量data

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

# 使用print()和.iloc属性输出data变量里第2行到第4行的数据

print(data.iloc[1:4])

2.访问不连续的某几行

格式:.iloc[[index1的位置,index2的位置,...]]

如果要访问多行不连续的数据,需要将包含这几行对应的整数索引列表传入 .iloc属性的 中括号 里。

# 导入pandas模块,并以"pd"为该模块的简写

import pandas as pd

# 使用pd.read_csv()函数读取路径为 "/Users/yequ/电商数据清洗.csv" 的CSV文件,并将结果赋值给变量data

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

# TODO 使用print()和.iloc属性输出data变量里第2行、第145行和第276行的数据

print(data.iloc[[1,144,275]])

Ps:值得注意的是,访问多行数据时,因为传入了列表,所以有两对中括号

总结:通过行位置访问数据中不连续的某几行需要使用:.iloc[[index1,index2,...]]

访问元素

前面我们学习了.iloc属性通过传入index的位置访问行数据。

当然,.iloc属性也允许传入两个参数,分别是index的位置和columns的位置,参数间用“逗号”隔开,这样便可以访问数据中的元素。

1. 访问单个元素

格式:.iloc[index的位置,columns的位置]

访问单个元素,需要依次将其index的位置和columns的位置传入.iloc的中括号里,用“逗号”隔开。

import pandas as pd

# 读取CSV文件,并将结果赋值给变量data

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

# 使用print()和.iloc属性输出data变量里:第5行,第2列对应的元素

print(data.iloc[4,1])

总结:位置访问变量data中的单个数据的格式是:data.iloc[index的位置,columns的位置]

2. 访问多个元素

.iloc[index位置切片或列表,columns位置切片或列表]

如果想访问多个元素,我们也可以使用.iloc属性结合切片或列表进行访问,组合情况较多。

import pandas as pd

# 读取CSV文件,并将结果赋值给变量data

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

# 使用print().loc属性输出data变量里:第13行,第35列对应的元素

print(data.iloc[[0,2],[2,4]])

结果:

示例:

这三行代码读取了路径为 "/Users/yequ/电商数据清洗.csv" 的文件。
最后,输出了第2,4行,第5,6列对应的多个元素。

import pandas as pd

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

print(data.iloc[[1,3],[4,5]])

总结:

按照行位置访问行数据

访问DataFrame对象中的.iloc属性可以按照行位置对应的整数索引访问行数据。
1.访问某一行.iloc[index]
2.访问连续的某几行.iloc[起点index:结束index],不包含结束index这一行数据
3.访问不连续的某几行.iloc[[index1,index2,...]]
4.访问单个元素.iloc[index的位置,columns的位置]
5.访问多个元素.iloc[index位置切片或列表,columns位置切片或列表]

以上为:如何使用列索引行索引来分别获取列数据和行数据的全部内容


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

相关文章:

  • 2020年蓝桥杯第十一届CC++大学B组(第二次)真题及代码
  • 从被动响应到主动防御——IT 应急演练平台 v3.0.1 重构企业安全免疫系统
  • RPC是啥?
  • 图论part3|101.孤岛的总面积、沉没孤岛、417. 太平洋大西洋水流问题
  • Vue3项目匹配PC端和移动端---一套组件
  • MATLAB语言的编程竞赛
  • 沉浸式vr大空间打造,打造超真实的虚拟体验
  • 【教学类-43-25】20240311 数独3宫格的所有可能(图片版 12套样式,空1格-空8格,每套510张,共6120小图)
  • 配置 VSCode 的 C# 开发环境
  • Matlab 基于专家pid控制的时滞系统
  • Tree of Thought Prompting(思维树提示)
  • 如何在 K8s 内部实现安全的网络隔离?
  • 掌握Python项目的依赖管理:利用`venv`与`conda`高效创建虚拟环境
  • 深度解析ECharts.js:构建现代化数据可视化的利器
  • c++图论(一)之图论的起源和图的概念
  • 【MySQL】MySQL审计工具Audit Plugin安装使用
  • 工作记录 2017-01-25
  • 树莓派上的 TensorFlow Lite:从零开始的摄像头图像识别
  • python-数据结构汇总,树图、代码讲解(字符串、数组、字典、集合、元组)
  • 5分钟快速申请一个EDU教育邮箱