[英]How to randomly select rows from Pandas dataframe based on a specific condition?
[英]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
不是一个可以与pandas
和numpy
数组配合的函数。
你需要numpy.isclose
:
temp_df = orig_df[
(np.isclose(orig_df["Alpha"], num))
& (orig_df["Method"] == method_type)
]
在这种情况下np
是numpy
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.