【玩转pandas系列】巧妙处理某瓣电影top250空数据

向阳花花花花 - 个人主页

迄今所有人生都大写着失败,但并不妨碍我继续向前

Python 数据分析专栏正在火热更新中 🔥


文章目录

前言

大家好!我是向阳花,是一位正在努力成长的数据小白。

本期给大家带来的是,使用 pandas 处理某瓣电影top250数据中的空数据。

知识点对应一个小案例,洗碗这种 学习+案例实践 的学习模式会对你有帮助。

一、处理某瓣电影top250空数据

  • 1.环境准备

首先导入必要的模块:

python 复制代码
import numpy as np
import pandas as pd

加载数据:(数据获取链接:「movie_top_250.xlsx」

python 复制代码
df = pd.read_excel('../datas/pandas练习/movie_top_250.xlsx')
  • 2.观察数据

确定数据行列:

python 复制代码
df.shape

从以上让我们知道,数据总共有 262条,11列

  • 3.空值行列查找

接下来我们使用 count() 函数,确定哪些列有空值:

python 复制代码
df.count()

从以上我们可以看出,有五列,评分、评价人数、国家/地区、语言、时长(分钟)这些列有空值。

也可以使用 isnull() 进一步验证,找出含有空值的列:

python 复制代码
df.isnull().any()

和使用 count() 得到的结果含义是一致的。

  • 4.查看含有空值的行

发现了存在空值,我们先不着急使用 dropna() 方法删除含有空值的行,我们先看看含有空值的行具体是哪些。

python 复制代码
data = df.isnull().any(axis=1)
data

有空值的行即为True,下面打印含有空值的行(行数过多只显示前5行):

python 复制代码
df.loc[data].head()

这样,含有 NaN 的数据行就被我们找出来了。

下面我们统计,有多少行含有空值的行。

python 复制代码
print(df.loc[data].shape)

也就是说,有24行有空值的行,一开始我们有262条数据,那么使用 dropna() 删除行后,应该剩下:262 - 24 = 238 条数据。

  • 5.删除含有空值的行
python 复制代码
df.dropna(inplace=True)

再次查看数据行列:

python 复制代码
df.shape

与预期相符。

二、对于空值,有没有别的处理办法?

答案肯定是有的。

有时候只是缺失了一行中的某一个,我们希望保留这行数据,使用填充的方式补充空值

  • 1.整体填充(单值填充)

使用 # 号填充所有 NaN

python 复制代码
df.fillna(value='#')
  • 2.向上向下填充

向上填充:

python 复制代码
df.fillna(method='ffill',axis=0)

向下填充:

python 复制代码
df.fillna(method='bfill',axis=0)
  • 3.整体均值填充
python 复制代码
df.fillna(df.mean())
  • 4.上下列均值填充
python 复制代码
df.fillna(df.interpolate())

三、上述案例总结

3.1 查看数据信息

  • 1.查看数据行列
python 复制代码
df.shape
  • 2.查看数据信息
python 复制代码
df.info()
  • 3.查看数据更多详细信息,包含条数,平均数,方差,最小、最大值等
python 复制代码
df.describe()

3.2 判断数据是否有空值

  • 1.count() 方法与 shape 结果对比
python 复制代码
df.count()
  • 2.使用 isnull() 方法
python 复制代码
df.isnull().any()
  • 3.使用 notnull() 方法
python 复制代码
df.notnull().all()

3.3 查看含空行、删除含空行

  • 1.找出含有空值的行
python 复制代码
data = df.isnull().any(axis=1)
df.loc[data].head()

高亮显示 NaN:

python 复制代码
df.loc[data].style.highlight_null(null_color='skyblue')
  • 2.删除含空行
python 复制代码
df.dropna(inplace=True)

结语

🔥 如果文中有些地方不清楚的话,欢迎联系我,我会给大家提供思路及解答。🔥

相关推荐
古城小栈5 小时前
为啥说:训练用BF16,推理用FP16
人工智能·算法·机器学习
TMT星球5 小时前
从像素复刻到行动控制:具身世界模型的底层逻辑探索
人工智能·深度学习·机器学习
世界很奇妙塔6 小时前
基因编辑产业化:从科研探索到临床应用,重构生命健康产业底层逻辑
大数据·人工智能·机器学习
AI 大模型学习不踩坑7 小时前
OpenClaw 完整教程:从安装到使用(官方脚本版)
java·人工智能·神经网络·机器学习·计算机视觉·自然语言处理·openclaw
俊俊谢8 小时前
LLaMA-Factory 部署与 DeepSeek-R1-Distill-Qwen 模型乱码问题解决全记录
机器学习·大模型·llama·qwen·llama-factory·deepseek·hugging-face
万岳科技系统开发9 小时前
外卖跑腿配送系统如何借助AI提升配送效率?
大数据·人工智能·机器学习
长夜多忧思10 小时前
机器学习_批量梯度下降法(BGD)
机器学习·批量梯度下降法
renhongxia110 小时前
原生多模态对应用架构的重塑
人工智能·深度学习·机器学习·自然语言处理·架构·机器人
金融小师妹10 小时前
人工智能推演框架:非农降温信号如何重构黄金定价模型
数据结构·人工智能·机器学习·transformer
2601_9623446211 小时前
计算机毕业设计之基于大数据的投保数据的分析系统的设计与实现
大数据·人工智能·深度学习·机器学习·信息可视化·小程序·课程设计