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

数学建模之数据分析【七】:对Pandas DataFrame 进行切片

文章目录

    • 一、切片简介
    • 二、创建Pandas数据框
    • 三、使用iloc进行切片
      • 3.1 对行进行切片
      • 3.2 对列进行切片
      • 3.3 Dataframe选中特定单元格
    • 四、使用loc创建切片
      • 4.1 使用Python对Dataframe中的行进行切片
      • 4.2 指定单元格
    • 五、在Python中使用布尔条件
    • 六、结论

对 Pandas DataFrames 进行切片,是一种强大的技术,允许根据整数位置或标签位置提取特定的数据子集。本文,我们将学习行和列切片、单元格选择和布尔条件的用法。

一、切片简介

借助 Pandas,我们可以在 Dataframe 中执行切片。使用 Pandas Dataframe 进行切片iloc[] 是 Python 中提取特定数据子集的一种强大技术。该iloc[] 方法允许您根据行和列的整数位置来定位和提取它们。

要使用 执行切片iloc[],请指定要包含在切片数据框中的行和列索引。语法类似于传统的数组切片,对于 Python 用户来说非常直观。例如,df.iloc[1:5, 2:4]从数据框中提取第 2 至第 5 行和第 3 至第 4 列。

在 Pandas 中对 DataFrame 进行切片包括以下步骤:

  1. 创建 DataFrame
  2. 对 DataFrame 进行切片

二、创建Pandas数据框

import pandas as pd# Initializing the nested list with Data set
player_list = [['M.S.Dhoni', 36, 75, 5428000],['A.B.D Villers', 38, 74, 3428000],['V.Kohli', 31, 70, 8428000],['S.Smith', 34, 80, 4428000],['C.Gayle', 40, 100, 4528000],['J.Root', 33, 72, 7028000],['K.Peterson', 42, 85, 2528000]]# creating a pandas dataframe
df = pd.DataFrame(player_list, columns=['Name', 'Age', 'Weight', 'Salary'])
df # data frame before slicing

运行结果:
在这里插入图片描述

三、使用iloc进行切片

3.1 对行进行切片

# Slicing rows in data frame
df1 = df.iloc[0:4]  #对第一行到第四行进行切片
# data frame after slicing
df1

在这里插入图片描述

3.2 对列进行切片

对列进行切片:

# Slicing columnss in data frame
df1 = df.iloc[:, 0:2]#所有行,第1,2列
# data frame after slicing
df1

在这里插入图片描述

3.3 Dataframe选中特定单元格

选中特定单元格,列入第三行,第四列:

specific_cell_value = df.iloc[2, 3]  # Row 3, Column 4 (Salary)
print("Specific Cell Value:", specific_cell_value)

输出:
8428000

四、使用loc创建切片

还可以通过 loc 实现切片,但有一些限制:

  • loc依赖于标签,如果您的 DataFrame 有自定义标签,您需要小心指定它们的方式。
  • 如果标签是整数,则使用整数位置和实际标签之间可能会产生混淆。

为此,我们需要使用以下代码手动将索引设置为标签:

df_custom = df.set_index('Name')
df_custom

运行结果:
在这里插入图片描述

4.1 使用Python对Dataframe中的行进行切片

sliced_rows_custom = df_custom.loc['A.B.D Villers':'S.Smith']
sliced_rows_custom

在这里插入图片描述

4.2 指定单元格

specific_cell_value = df_custom.loc['V.Kohli', 'Salary']
print("\nValue of the Specific Cell (V.Kohli, Salary):", specific_cell_value)

在这里插入图片描述

五、在Python中使用布尔条件

filtered_data = df[df['Age'] > 35].iloc[:, :]  # Select rows where Age is greater than 35
print("\nFiltered Data based on Age > 35:\n", filtered_data)

iloc()只是分割,df可做筛选。
在这里插入图片描述

六、结论

总而言之,iloc[] 和 loc[] 均在 Pandas 中提供多种切片功能。iloc[] 基于整数,而 loc[] 则依赖于标签,因此在使用自定义索引或混合数据类型时需要仔细考虑。

http://www.lryc.cn/news/430447.html

相关文章:

  • 删除 Docker 容器的日志文件
  • DevOps入门(上)
  • 基于Python的网易民谣歌词数据分析的设计与实现
  • 趋动科技联合云轴科技推出GPU云原生超融合解决方案
  • Dooring智图,一款开箱即用的图片海报编辑器
  • 苹果macbook电脑怎么玩《黑神话:悟空》游戏教程来了
  • git 目录提交代码
  • 多商户商品下单限购问题修复
  • eNSP 华为ACL配置
  • 实现高效研发运营一体化:深度落地DevOps解决方案的探索与实践
  • Milvus向量数据库-磁盘索引简介
  • Web漏洞介绍和Sql注入漏洞
  • 【Eureka】Eureka 介绍与实战
  • 密码管理系统的自动化与集成:重塑安全与效率的双重飞跃
  • Outlook如何精确搜索邮件?
  • MambaCSR: 使用SSM的双交错扫描压缩图像超分辨率
  • 【C++】深入解析C/C++内存管理:new与delete的使用及原理
  • 递归--数据结构--黑马
  • 【3.1】贪心算法-解分发饼干
  • 解决 Error running ‘Application‘: Command line is too long.
  • 衡量与归因将是Netflix程序化广告业务的首要任务
  • 关于如何在已有qt项目中添加该项目的单元测试工程
  • 深度剖析数字媒体产业链的无限潜力与创新生态
  • 集团数字化转型方案(十二)
  • Andrid异步更新UI:Handler(二)深入了解:Message你真的会创建?它是如何子线程和主线程通知?
  • 2025计算机毕设50条小众好做的Java题目【计算机毕设选题推荐】
  • day06_算法训练
  • @SpringBootTest单元测试中报错:无法自动装配,找不到 ‘XXX‘ 类型的 Bean
  • nodemon学习(一)简介、安装、配置、使用
  • 【Qt从摄像头视频中获取数据】