pandas 高级(六)

简介: 本文其实属于:Python的进阶之道【AIoT阶段一】的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 pandas 高级,读本文之前建议先修:pandas 入门,后续还会发出一篇 pandas 进阶供读者进行进一步的学习了解。

4.训练场

4.1 知识点概述

4.1.1 字符串替换

将字符串:“我在大学的体能极限是1000米3分34秒!” 中的“我”替换为“辰chen”,再将成绩转换为纯数字:

import numpy as np
import pandas as pd
s1 = '我在大学的体能极限是1000米3分34秒!'
# 把 '我' 替换为 '辰chen'
s1 = s1.replace('我', '辰chen')
display(s1)
# 将成绩转换为纯英文的
s2 = "3'34"
s2 = s2.replace('\'', '.')# \ 表示转义字符
s2 = float(s2)
display(s2)

image.png

4.1.2 报错演示

score = ["4'03", "4'34", "4'29", "3'48", "3'58", 4]
# for循环批量替换
for s in score:
    s = s.replace('\'', '.')
    print(s)

image.png

可以看出前几个数据都进行了正确的替换,只有最后一个数据因无法替换而报错,报错的原因在于最后一个数据是 int 类型的数据,是不能调用 replace 方法的,replace 只作用于字符串

所以我们在替换的过程中可以进行特判:

4.1.3 报错修复

使用 isinstance() 方法判断是否是字符串类型

score = ["4'03", "4'34", "4'29", "3'48", "3'58", 4]
# for循环批量替换
for s in score:
    # 判断s是不是字符串类型数据,这是一个新知识点
    if isinstance(s, str):
        s = s.replace('\'', '.')
    s = float(s)
    print(s, type(s))

image.png

4.2 体测成绩的部分转换

4.2.1 男生1000米跑成绩转换

首先我们需要下载一个 Excel 文件:

链接: https://pan.baidu.com/s/1msM5CSZxyJ3TZ5e3TG4XiQ?pwd=w3ut

提取码: w3ut

复制这段内容后打开百度网盘手机App,操作更方便哦


下载完成之后,把该文件和我们的代码放到同一个文件夹下,这一操作我们在之前的博客中已经反复说到,这里就不再进行演示

我们点开我们下载好的文件:

36.png

表格有男生表,也有女生表,在男生表中通过观察可以看出,只有 男1000米跑这一列数据是 xx'xx 的形式,我们要把它转为和 男50米跑,男跳远这样的数据形式,并且需要注意到,可能有些同学没有参加 1000米跑的测试,我们需要把这些空数据统一赋值为0

import pandas as pd
# 加载男生的体测成绩
# 方法一:
df_boy = pd.read_excel('./体测成绩.xlsx', sheet_name = 0)
# 方法二:
df_boy = pd.read_excel('./体测成绩.xlsx', sheet_name = '男生')
# 空数据处理:没有参加体能测试,成绩为0
df_boy = df_boy.fillna(0)
def convert(s):
    if isinstance(s, str):
        s = float(s.replace('\'', '.'))
    return s
df_boy['男1000米跑'].map(convert)

image.png

4.2.2 男生1000米跑成绩转换并赋值

import pandas as pd
# 加载男生的体测成绩
df_boy = pd.read_excel('./体测成绩.xlsx', sheet_name = 0)
# 空数据处理:没有参加体能测试,成绩为0
df_boy = df_boy.fillna(0)
def convert(s):
    if isinstance(s, str):
        s = float(s.replace('\'', '.'))
    return s
df_boy['男1000米跑'] = df_boy['男1000米跑'].map(convert)
# 保存数据,index = False表示不存储行索引
df_boy.to_excel('./男生体测成绩.xlsx', index = False)
# 查看前10个数据
df_boy.head(10)

37.png

对于女生数据,我们可以做同样的处理

import pandas as pd
# 加载女生的体测成绩
df_girl = pd.read_excel('./体测成绩.xlsx',sheet_name = 1)
# 空数据处理:没有参加体能测试,成绩为0
df_girl = df_girl.fillna(0)
def convert(s):
    if isinstance(s, str):
        s = float(s.replace('\'', '.'))
    return s
df_girl['女800米跑'] = df_girl['女800米跑'].apply(convert)
# 保存数据,index = False表示不存储行索引
df_girl.to_excel('./女生体测成绩.xlsx', index = False)
# 查看后10个数据
df_girl.tail(10)

38.png


目录
相关文章
|
索引 Python
Pandas 高级教程——高级时间序列分析
Pandas 高级教程——高级时间序列分析
589 4
|
数据可视化 数据挖掘 数据处理
进阶 pandas DataFrame:挖掘高级数据处理技巧
【5月更文挑战第19天】本文介绍了Pandas DataFrame的高级使用技巧,包括数据重塑(如`pivot`和`melt`)、字符串处理(如提取和替换)、日期时间处理(如解析和时间序列操作)、合并与连接(如`merge`和`concat`),以及使用`apply()`应用自定义函数。这些技巧能提升数据处理效率,适用于复杂数据分析任务。推荐进一步学习和探索Pandas的高级功能。
|
数据挖掘 数据处理 Python
【Python DataFrame 专栏】深入探索 pandas DataFrame:高级数据处理技巧
【5月更文挑战第19天】在 Python 数据分析中,pandas DataFrame 是核心工具。本文介绍了几个高级技巧:1) 横向合并 DataFrame;2) 数据分组与聚合;3) 处理缺失值;4) 数据重塑;5) 条件筛选;6) 使用函数处理数据。掌握这些技巧能提升数据处理效率和分析深度,助你更好地发掘数据价值。
151 1
【Python DataFrame 专栏】深入探索 pandas DataFrame:高级数据处理技巧
|
数据采集 存储 数据可视化
Pandas高级教程:数据清洗、转换与分析
Pandas是Python的数据分析库,提供Series和DataFrame数据结构及数据分析工具,便于数据清洗、转换和分析。本教程涵盖Pandas在数据清洗(如缺失值、重复值和异常值处理)、转换(数据类型转换和重塑)和分析(如描述性统计、分组聚合和可视化)的应用。通过学习Pandas,用户能更高效地处理和理解数据,为数据分析任务打下基础。
1348 3
|
数据采集 数据挖掘 数据处理
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
【7月更文挑战第14天】Python的Pandas和NumPy库是数据分析的核心工具。Pandas以其高效的数据处理能力,如分组操作和自定义函数应用,简化了数据清洗和转换。NumPy则以其多维数组和广播机制实现快速数值计算。两者协同工作,如在DataFrame与NumPy数组间转换进行预处理,提升了数据分析的效率和精度。掌握这两者的高级功能是提升数据科学技能的关键。**
168 0
|
数据采集 机器学习/深度学习 数据处理
数据科学家的秘密武器:Pandas与NumPy高级应用实战指南
【7月更文挑战第14天】Pandas与NumPy在数据科学中扮演关键角色。Pandas的DataFrame和Series提供高效数据处理,如数据清洗、转换,而NumPy则以ndarray为基础进行数值计算和矩阵操作。两者结合,从数据预处理到数值分析,形成强大工具组合。示例展示了填充缺失值、类型转换、矩阵乘法、标准化等操作,体现其在实际项目中的协同效用。掌握这两者,能提升数据科学家的效能和分析深度。**
194 0
|
数据处理 Python
数据科学进阶之路:Pandas与NumPy高级操作详解与实战演练
【7月更文挑战第13天】探索数据科学:Pandas与NumPy提升效率的高级技巧** - Pandas的`query`, `loc`和`groupby`用于复杂筛选和分组聚合,例如筛选2023年销售额超1000的记录并按类别计总销售额。 - NumPy的广播和向量化运算加速大规模数据处理,如快速计算两个大数组的元素级乘积。 - Pandas DataFrame基于NumPy,二者协同加速数据处理,如将DataFrame列转换为NumPy数组进行标准化再回写,避免链式赋值。 掌握这些高级操作,实现数据科学项目的效率飞跃。
181 0
|
数据挖掘 数据处理 决策智能
Python 数据分析工具箱:深挖 Pandas 与 NumPy 高级功能,驱动智能决策
【7月更文挑战第12天】Python的Pandas和NumPy是数据分析的基石。Pandas提供灵活的数据结构如DataFrame,用于高效处理关系型数据,而NumPy则以多维数组和科学计算功能著称。两者结合,支持数据合并(如`pd.merge`)、时间序列分析(`pd.to_datetime`)和高级数组运算。通过掌握它们的高级特性,能提升数据分析效率,应用于各领域,如金融风险评估、市场分析和医疗预测,助力数据驱动的决策。学习和熟练运用Pandas与NumPy是成为出色数据分析师的关键。
149 0
|
数据采集 数据挖掘 数据处理
《Pandas 简易速速上手小册》第8章:Pandas 高级数据分析技巧(2024 最新版)
《Pandas 简易速速上手小册》第8章:Pandas 高级数据分析技巧(2024 最新版)
163 1
|
数据挖掘 数据处理 索引
Python 应知应会的Pandas高级操作
Python 应知应会的Pandas高级操作
215 0