繁体   English   中英

根据 isclose() 条件从数据框中选择行

[英]Select rows from dataframe based on isclose() condition

我有一个带有“Alpha”和“Method”列名称的数据orig_df

num是一个带有一些浮点错误的浮点数。 例如,它是 1.1400000000000001。

同时,“Alpha”值被截断为 1.14。

因此,我想返回所有行,使得orig_df["Alpha"]num接近(并且该method匹配某些字符串method_type ,但这不太相关)。

到目前为止,我有:

temp_df = orig_df[
                (math.isclose(orig_df["Alpha"], num))
                & (orig_df["Method"] == method_type)
            ]

但后来我收到错误

TypeError: cannot convert the series to <class 'float'>

我怎样才能解决这个问题?

math.isclose不是一个可以与pandasnumpy数组配合的函数。

你需要numpy.isclose

temp_df = orig_df[
                (np.isclose(orig_df["Alpha"], num))
                & (orig_df["Method"] == method_type)
            ]

在这种情况下npnumpy

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM