Pandas:删除值低于阈值的行,但保留NaN

2024-05-11 12:53:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Pandas(python)处理一个包含一些功能磁共振成像结果的数据集

我试图在特定列的值低于我设置的阈值时删除行。问题是,我也希望保持NAN的价值观

df = df[(dfr['in_mm3'] > 270) or (np.isnan(df['in_mm3']) == True)]

显然,这是行不通的,但你应该更好地理解我想要实现的目标

任何帮助都将不胜感激

谢谢


Tags: or数据in功能truepandasdfnp
2条回答

你就快到了。这应该起作用:

import numpy as np
df = df[ np.logical_or(dfr['in_mm3'] > 270, np.isnan(df['in_mm3'])) ]
df = df[(dfr['in_mm3'] > 270) | (pd.isnan(df['in_mm3']))]

在这里,我们打印pd.isnan(df['in_mm3'])为真且满足(dfr['in_mm3'])270的值

相关问题 更多 >