首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理熊猫DataFrame中的缺失值?

问如何处理熊猫DataFrame中的缺失值?
EN

Stack Overflow用户
提问于 2019-02-11 00:01:21
回答 4查看 2.2K关注 0票数 0

我有一个Pandas Dataframe,它有一些缺失值。我想用一些不会影响统计数据的东西来填充缺失的值,这是我将对数据执行的操作。

举个例子,如果在Excel中,你尝试对一个包含5个单元格和一个空单元格的单元格求平均值,那么平均值将是5。我希望在Python中也是如此。

我尝试用NaN填充,但是如果我对某一列求和,例如,结果是NaN。我也尝试用None填充,但得到了一个错误,因为我对不同的数据类型求和。

有人能帮忙吗?提前谢谢你。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-02-11 00:11:12

你的两个问题有很多答案。

这是第一个问题的解决方案:

如果您希望在Dataframe中的NaN条目中插入一个不会更改统计数据的特定值,那么我建议您使用该数据的平均值。

示例:

代码语言:javascript
复制
df # your dataframe with NaN values

df.fillna(df.mean(), inplace=True)

关于第二个问题:

如果您需要检查数据帧中的描述性统计信息,并且描述性统计信息不应该受到NaN值的影响,那么这里有两个解决方案: 1)

代码语言:javascript
复制
df # your dataframe with NaN values

df.fillna(df.mean(), inplace=True)

df.mean()
df.std()

# or even:

df.describe()

2)选项2:

我建议你使用numpy nan函数,比如(numpy.nansum,numpy.nanmean,numpy.nanstd)...

df.apply(numpy.nansum)

df.apply(numpy.nanstd) #...

票数 3
EN

Stack Overflow用户

发布于 2019-02-11 00:18:02

您的问题的答案是,缺少值在Pandas中的工作方式与在Excel中不同。您可以阅读有关该here的技术原因。基本上,没有一个神奇的数字可以让我们填充一个df,它会导致熊猫忽略它。根据我们的需要,我们有时会选择填充缺失的值,有时丢弃它们(永久地或在计算期间),或者有时使用可以使用它们的方法(例如,numpy.nansum,正如Philipe Riskalla Leal所提到的)。

票数 0
EN

Stack Overflow用户

发布于 2019-02-11 00:20:58

您可以使用df.fillna()。下面是一个示例,说明如何执行相同的操作。

代码语言:javascript
复制
import pandas as pd
import numpy as np
df = pd.DataFrame([[np.nan,2,1,np.nan],
              [2,np.nan,3,4],
              [4,np.nan,np.nan,3],
              [np.nan,2,1,np.nan]],columns=list('ABCD'))
df.fillna(0.0)

通常,用类似于0的值填充会影响您对数据所做的统计。因此,请选择数据的平均值,这将确保它不会影响您的统计数据。因此,请改用df.fillna(df.mean())

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54618253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档