【发布时间】:2019-05-02 02:46:00
【问题描述】:
我想让 pandas 在尝试对具有 nan 值的单元格进行算术运算时产生错误。因此,如果我创建一个虚拟 DataFrame:
test_input = pd.DataFrame(columns=['a','b','c'],
index=[1,2],
data=[[np.nan, np.nan, 2.0],[np.nan, 1.0, 3.0]])
看起来像这样:
如果我将它乘以其他一组值,它会乘以 DataFrame 中的有效条目,并保持 NaN 不变:
test_input * np.array([2,2,2])
而我希望它在尝试对包含 NaN 的单元格进行算术运算时产生错误。
我尝试使用 .fillna 将 NaN 替换为 None(据我所知,无法完成,因为 fillna 认为您没有输入任何值)并用字符串替换 NaN(这会产生如果您尝试乘以浮点数而不是整数,则会出现错误),但我想知道是否有一些更明显的方法我遗漏了?
提前致谢!
【问题讨论】:
-
当
NaN存在时为什么要它产生错误? -
应该是什么错误信息?一个用于整个数据框?对于每一行?对于每个单元格?数据框中的 NaN 是错误消息。
-
@Mr.T - 我没有想到这一点,但也许这里最好的方法是让我检查 df 是否包含 NaN,如果是,则我自己提出错误。
标签: python python-3.x pandas numpy