python boxplot参数 名称 意义 可选值_使用python绘制boxplot时如何处理NaN值?

在Python中绘制Boxplot时,如果数据中存在NaN值,可以通过使用`np.isnan`来查找并删除它们。对于1D数据,可以使用`filtered_data = data[~np.isnan(data)]`来过滤;对于二维数据,可以使用列表理解 `[d[m] for d, m in zip(data.T, mask.T)]`。这样可以确保Boxplot只基于非NaN值进行绘制。" 89487227,7783279,理解数据结构:树形结构详解,"['数据结构', '树', '二叉树', '数据结构基础', '算法']
摘要由CSDN通过智能技术生成

您可以先从数据中删除NaN,然后打印筛选的数据。

为此,首先可以使用^{}找到NaNs,然后使用^{} operator对该布尔数组执行逐位反转。使用它来索引数据数组,然后过滤掉NaNsfiltered_data = data[~np.isnan(data)]

在一个完整的例子中(改编自here)

对于1D数据:import matplotlib.pyplot as plt

import numpy as np

# fake up some data

spread = np.random.rand(50) * 100

center = np.ones(25) * 50

flier_high = np.random.rand(10) * 100 + 100

flier_low = np.random.rand(10) * -100

data = np.concatenate((spread, center, flier_high, flier_low), 0)

# Add a NaN

data[40] = np.NaN

# Filter data using np.isnan

filtered_data = data[~np.isnan(data)]

# basic plot

plt.boxplot(filtered_data)

plt.show()

对于二维数据:

对于二维数据,不能简单地使用上面的掩码,因为数据数组的每一列都有不同的长度。相反,我们可以创建一个列表,列表中的每一项都是数据数组中每一列的筛选数据。

列表理解可以在一行中完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值