网站建设制作网站建设与管理

德清艾薇诗智能家居有限公司 2026/09/09 17:47:23

准备工作

首先导入 Pandas 库,并读取所需的数据集,为后续操作做准备:

python

运行

import pandas as pd # 读取UFO目击报告数据 ufo = pd.read_csv('uforeports.csv') # 读取各国饮品消费数据 drinks = pd.read_csv('drinksbycountry.csv') # 读取IMDB电影评分数据 movies = pd.read_csv('imdbratings.csv')

一、缺失值填充(fillna 方法)

fillna()是 Pandas 中处理缺失值的核心方法,关键在于 **inplace参数 ** 的使用,直接影响是否修改原数据。

1. 原地填充缺失值(修改原数据)

python

运行

# 用'VARIOUS'填充ufo数据中'Shape Reported'列的缺失值,直接修改原数据 ufo['Shape Reported'].fillna(value='VARIOUS', inplace=True)
  • 作用:直接在原 DataFrame 的Shape Reported列上操作,将所有缺失值(NaN)替换为VARIOUS,原数据被永久修改。

2. 非原地填充缺失值(返回新对象)

python

运行

# 生成填充缺失值后的新Series,原数据不受影响(inplace=False为默认值,可省略) ufo['Shape Reported'].fillna(value='VARIOUS', inplace=False)
  • 作用:不会修改原数据,而是返回一个缺失值已被填充为VARIOUS的新 Series 对象。
  • 注意:如果不将新对象赋值给原列(如ufo['Shape Reported'] = ...),此次填充操作不会对原数据产生任何影响。

3. 统计填充后的数据分布

python

运行

# 统计'Shape Reported'列各值的出现次数(包含填充后的'VARIOUS') ufo['Shape Reported'].value_counts()
  • 结果:此时统计的是填充缺失值后的列数据,VARIOUS的数量对应原本的缺失值数量。

二、特殊格式数据读取(read_table 方法)

当数据文件的分隔符不是默认的逗号时,可使用read_table()指定分隔符读取:

python

运行

# 以'|'为分隔符读取数据,不设置表头(列名),并显示前5行 pd.read_table('movieusers.csv', header=None, sep='|').head()
  • 关键参数:
    • sep='|':指定数据的分隔符为竖线|(默认是制表符 );
    • header=None:表示数据文件没有表头行,Pandas 不会自动将第一行作为列名;
    • .head():仅显示数据的前 5 行,便于快速预览。

三、数据筛选与定位

1. 布尔索引筛选行

通过条件判断筛选出符合要求的行,是 Pandas 中最常用的筛选方式:

python

运行

# 筛选drinks数据中'continent'列值为'South America'(南美洲)的所有行 drinks[drinks.continent == 'South America']
  • 逻辑拆解:
    1. drinks.continent == 'South America':生成布尔值 Series(True/False),标记每行是否符合条件;
    2. drinks[布尔Series]:保留布尔值为 True 的行,返回筛选后的子 DataFrame。

2. loc 索引器精准定位(按标签索引)

loc是按行标签 + 列标签定位数据的核心工具,支持单个值、多行多列的索引。

(1)定位单个单元格值

python

运行

# 定位行标签为23、列名为'beer_servings'的单元格值 drinks.loc[23, 'beer_servings']
(2)修改行索引后定位

若将列设为行索引,可直接用新索引标签定位:

python

运行

# 将'country'列设置为drinks的行索引(原地修改原数据) drinks.set_index('country', inplace=True) # 定位行标签为'Brazil'、列名为'beer_servings'的单元格值 drinks.loc['Brazil', 'beer_servings']
(3)从统计结果中定位值

结合描述性统计与loc,提取指定统计指标:

python

运行

# 先对drinks做描述性统计,再提取'beer_servings'列的25%分位数(第一四分位数Q1) drinks.describe().loc['25%', 'beer_servings']
  • 逻辑:drinks.describe()生成数值列的统计指标(count、mean、25%、50% 等),返回的 DataFrame 以统计指标为行标签,原列名为列标签,再通过loc定位目标值。

3. 填充缺失值(针对 drinks 的 continent 列)

python

运行

# 对drinks的'continent'列做非原地缺失值填充,返回新Series drinks['continent'].fillna(value='VARIOUS', inplace=False)
  • 核心逻辑:
    1. drinks['continent']:选中目标列(Series 对象);
    2. fillna(value='VARIOUS'):将列中缺失值替换为VARIOUS
    3. inplace=False:返回填充后的新 Series,原数据不变。

四、Series 算术运算(索引对齐规则)

Pandas 的 Series 运算遵循索引标签对齐规则,仅匹配标签的元素会参与运算,不匹配的返回 NaN。

python

运行

# 创建自定义Series(索引为国家名,值为人口数) people = pd.Series([3000000, 85000], index=['Albania', 'Andorra'], name='population') # 将drinks的'beer_servings'列与people按索引对齐后相乘 drinks.beer_servings * people
  • 结果说明:
    • drinks.beer_servings的索引包含AlbaniaAndorra,则这两个标签对应的元素会相乘;
    • 其余标签因无匹配的people索引,结果为 NaN。

五、选择指定行数据

使用loc索引器选择多行数据:

python

运行

# 选择ufo数据的前3行(行标签为0、1、2),并返回所有列 ufo.loc[[0, 1, 2], :]
  • 简化写法:ufo.loc[0:2, :]loc的切片包含结束标签,与 Python 原生切片不同),或ufo.head(3)(直接返回前 3 行)。

总结

  1. 缺失值填充inplace=True原地修改原数据,inplace=False返回新对象(默认),需赋值才会生效;
  2. 数据定位:布尔索引用于行筛选,loc按标签定位(行 + 列),是 Pandas 索引的核心工具;
  3. Series 运算:遵循索引对齐规则,仅匹配标签的元素参与运算,不匹配则为 NaN。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

齐齐哈尔网站建设咸宁网站建设

1.练习项目:练习使用map函数及其常用函数2.选择课程在蓝桥云课中选择课程《16届蓝桥杯省赛无忧班(C&C++ 组)4期》ÿ

2026/06/30 13:04:34

免费建设网站高端品牌网站建设

第一章:Java结构化并发结果获取概述在现代Java应用开发中,随着异步任务数量的增加,传统线程管理方式逐渐暴露出复杂性和可维护性差的问题。Java 19引入

2026/06/30 14:10:09

医疗网站建设崇左网站建设

TensorFlow模型推理服务负载均衡配置在今天的AI工程实践中,一个训练好的深度学习模型如果无法稳定、高效地对外提供服务,那它的价值就大打折扣。尤其是在电商推荐、金融风

2026/06/30 13:47:07

苏州网站建设东营网站建设

本周为第二课的第一周内容,就像课题名称一样,本周更偏向于深度学习实践中出现的问题和概念,在有了第一课的机器学习和数学基础后,可以说,

2026/06/30 13:01:04

中山网站建设梧州网站建设

版本控制系统:Subversion 与 Git 深度解析在软件开发和项目管理中,版本控制系统起着至关重要的作用。它能帮助开发者记录代码的变更历史,协同工作,以及追踪问题。本文将深入介绍 Subvers

2026/06/30 10:35:21

义乌网站建设青岛网站建设公司

3577: 统计计算机解锁顺序排列数用计算机 j 解锁计算机 i 的前提是 j<i 且 complexity[j]<complexity[i]。观察:一开始就解锁的只有计算机

2026/06/30 11:01:23

房产网站建设东阳网站建设

LLM与RAG融合应用一、 定义LLM与RAG融合应用,是将检索增强生成(Retrieval-Augmented Generation) 技术与大语言模型&#

2026/06/30 12:58:03

寿光网站建设嘉定网站建设

第一章:Shell脚本的基本语法和命令Shell脚本是Linux/Unix系统中自动化任务的核心工具,通过编写可执行的文本文件,用户能够组合命令、控制流程并处

2026/06/30 11:42:27

东营网站建设凯里网站建设

Mac Mouse Fix 终极指南:为什么你的普通鼠标在Mac上需要这个神器?【免费下载链接】mac-mouse-fixMac Mouse Fix - A simple

2026/06/30 13:38:06

重庆网站建设嘉兴网站建设

????欢迎来到本博客❤️❤️???个人专栏:《ComfyUI 进阶玩家:商用变现 + 脑洞工作流》一起学习交流,解锁 ComfyUI 进阶玩法与变现新路径✨生活不只是眼前的苟且,还有诗和远方Comf

2026/06/30 13:10:04