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

【数据分析】索引与数据筛选(1)

索引与数据筛选

为什么要筛选数据?

因为在处理数据的实际应用中,数据的筛选很重要。Like:要选择数据集里的某几行某几列,或者将符合某种条件的数据筛选出来单独处理和分析,此时就要进行特定处理。

处理方案:

在pandas模块中,有很多种索引方式来定位和选择DataFrame中的数据。

学习目标1

今天的课程里,我们将依此学习以下4种索引方式:

1. 列索引 :访问列数据

2. .loc属性:通过索引的值访问行数据和元素

3. .iloc属性:通过索引的位置访问行数据和元素

4. 行列索引的结合:访问元素

5.布尔索引:一个判断条件或多个判断条件

这是一份电商平台订单数据。
这份数据中的 "payment"  "price" 和 "cutdown_price" 这3列中的数据都是以分为单位。现在,为了后续计算和整理,我们想将这三列数据以元为单位。所以,需要将这三列数据的值除以100来得到合适的数据。

处理方案

一种方式是:我们可以依次访问这三列数据,并将它们逐个除以100。

另一种方式是:同时访问这三列数据,并一起除以100。
 

接下来,我们将分别学习访问一列访问多列的方法。

  1. 访问一列数据: data["columns"]

首先,访问一列数据可以按列索引(columns)访问。只需在DataFrame变量后面使用中括号和列索引:data["columns"]。访问一列数据时,获取到的是该列对应的Series

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

import pandas as pd

# 使用pd.read_csv()函数读取路径为 "/Users/yequ/电商数据清洗.csv" 的CSV文件

# 并将结果赋值给变量data

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

# 使用print()输出变量data中的 "payment" 列

print(data["payment"])

接下来,我们就可以将这3列数据 依次除以100 来得到以元为单位的数据。

代码示例:

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

import pandas as pd

# 使用pd.read_csv()函数读取路径为 "/Users/yequ/电商数据清洗.csv" 的CSV文件

# 并将结果赋值给变量data

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

# 将变量data中的 "payment" 列修改为以元为单位的数据

data["payment"] = data["payment"]/100

# TODO 将变量data中 的 "price" 列修改为以元为单位的数据

data["price"] = data["price"]/100

# 将变量data中的 "cutdown_price" 列修改为以元为单位的数据

data["cutdown_price"] = data["cutdown_price"]/100

# 使用print()输出变量data

print(data)

总结:访问一列数据时,需要使用data["columns"]

一次性访问多列数据

2.访问多列数据: data[["columns_1","columns_2",...]]
如果需要访问多列数据,可以将包含对应列索引的列表传入DataFrame的中括号里。访问多列数据时,获取到的是对应的DataFrame
示例中,我们展示了同时访问 "payment""price""cutdown_price"这3列数据的代码。值得注意的是,这里有两个中括号

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

import pandas as pd

# 使用pd.read_csv()函数读取路径为 "/Users/yequ/电商数据清洗.csv" 的CSV文件

# 并将结果赋值 给变量data

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

# 使用print()输出变量data中的 "payment", "price", "cutdown_price" 这三列数据

print(data[["payment", "price", "cutdown_price"]])

代码具体解释:

第一个中括号

第一个中括号,也就是最外面的中括号,表示对变量data进行索引。

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

import pandas as pd

# 使用pd.read_csv()函数读取路径为 "/Users/yequ/电商数据清洗.csv" 的CSV文件

# 并将结果赋值给变量data

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

# 使用print()输出变量data中的 "payment", "price", "cutdown_price" 这三列数据

print(data[["payment","price","cutdown_price"]])

第二个中括号

第二个中括号,也就是最里面的中括号,是一个列表,代表有多列数据。

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

import pandas as pd5

# 使用pd.read_csv()函数读取路径为 "/Users/yequ/电商数据清洗.csv" 的CSV文件

# 并将结果赋值给变量data

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

# 使用print()输出变量data中的 "payment", "price", "cutdown_price" 这三列数据

print(data[["payment","price","cutdown_price"]])

练一练

将 data 中的"payment", "price", "cutdown_price" 这三列修改为以元为单位的数据。

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

import pandas as pd

# 使用pd.read_csv()函数读取路径为 "/Users/yequ/电商数据清洗.csv" 的CSV文件

# 并将结果赋值给变量data

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

# TODO 将变量data中的"payment", "price", "cutdown_price" 这三列修改为以元为单位的数据

data[["payment","price","cutdown_price"]]=data[["payment","price", "cutdown_price"]]/100

# 使用print()输出变量data

print(data)

总结:访问多列数据时,需要使用data[["columns_1","columns_2",...]]

总结:

列索引

访问一列数据:data["columns"]
访问多列数据:data[["columns_1","columns_2",...]]


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

相关文章:

  • 【Prometheus】k8s集群内部署的prometheus如何监控kubernetes集群
  • centos steam8 部署k8s
  • JavaScript性能优化实战指南
  • 腾讯云CloudStudio使用笔记(三)
  • 如何减少跨团队交付摩擦?——基于 DevOps 与敏捷的最佳实践
  • 如何用AI制作PPT,轻松生成高效演示文稿
  • 软件架构设计、详细设计和开发编码的过程中提高性能的技巧和方法
  • REDIS生产环境配置
  • Git使用和原理(3)
  • Git的基本指令
  • C# WPF 基础知识学习(三)
  • Leetcode-1278.Palindrome Partitioning III [C++][Java]
  • 使用 Flask 进行简单服务器改造的详细步骤和代码
  • 在 React 中使用 Web Components 的实践操作
  • Blender-MCP服务源码1-项目解读
  • Linux find 命令完全指南
  • 接口测试中常见的bug有哪些?
  • 使用elementplus的table表格遇到的问题
  • ubuntu ollama+dify实践
  • 关于修改 Ollama 及其模型默认路径、迁移已安装的 Ollama 程序和模型以及重启 Ollama 的操作指南