首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让scipy.stats忽略NaN值

让scipy.stats忽略NaN值
EN

Stack Overflow用户
提问于 2019-05-07 09:48:22
回答 1查看 2K关注 0票数 2

这是my previous question的后续版本。

在这个玩具数据集中:

代码语言:javascript
复制
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as stats
import numpy as np

dictOne = {'Name':['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth', 'Seventh', 'Eighth', 'Ninth'],
           "A":[1, 2, -3, 4, 5, np.nan, 7, np.nan, 9],
           "B":[4, 5, 6, 5, 3, np.nan, 2, 9, 5],
           "C":[7, np.nan, 10, 5, 8, 6, 8, 2, 4]}
df2 = pd.DataFrame(dictOne)

column = 'C'

df2[df2[column] > -999].hist(column, alpha = 0.5)
param = stats.norm.fit(df2[column], nan_policy = 'omit')   # Fit a normal distribution to the data
print(param)

我正在尝试绘制其中一列的直方图(这就是上一个问题的内容),其中覆盖了正态分布曲线。scipy.stats.norm.fit为我提供了param[nan, nan],尽管我在函数调用中使用了nan_policy = 'omit'

如何让它忽略数据帧中的NaN值以获得一些合理的统计信息?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-07 09:53:10

我不相信fit使用的关键字是nan_policy

在任何情况下,您都可以从源数据集中删除空值:

代码语言:javascript
复制
param = stats.norm.fit(df2[column].dropna())
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56014448

复制
相关文章

相似问题

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