如何使用群体均值估算 Pandas 中的缺失值?
Pandas 中组平均值的 NaN 插补
使用每个组内的平均值填充缺失值是处理表格数据时的一项常见任务。考虑以下带有缺失值的 DataFrame:
df = pd.DataFrame({'value': [1, np.nan, np.nan, 2, 3, 1, 3, np.nan, 3], 'name': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C']})
我们的目标是根据“名称”列用每个组的平均值来估算缺失值。
为了实现这一目标,我们可以利用Pandas中的groupby()和transform()函数:
grouped = df.groupby('name').mean() df["value"] = df.groupby("name").transform(lambda x: x.fillna(x.mean()))
groupby()函数根据'name' 列,mean() 计算每个组的平均值。 Transform() 函数将此平均值应用于每个组中的每一行,并填充缺失值。
生成的 DataFrame:
print(df) name value 0 A 1 1 A 1 2 B 2 3 B 2 4 B 3 5 B 1 6 C 3 7 C 3 8 C 3
解释:
- mean() 函数计算每个组内的平均值,从而产生一个分组的新 DataFrame means.
- transform() 函数将 fillna() 方法应用于每个组,使用平均值作为填充值。这将使用每个组特定的平均值填充缺失值。
替代解决方案:
基于组的缺失值插补的另一种方法是:
impute_cols = ['value'] df[impute_cols] = df[impute_cols].fillna(df.groupby('name')[impute_cols].transform('mean'))
两种方法都达到相同的结果,但后一种方法在插补多个时提供了更大的灵活性专栏。
以上是如何使用群体均值估算 Pandas 中的缺失值?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...

Python3.6环境下加载pickle文件报错:ModuleNotFoundError:Nomodulenamed...

使用Scapy爬虫时管道文件无法写入的原因探讨在学习和使用Scapy爬虫进行数据持久化存储时,可能会遇到管道文�...
