![](/img/trans.png)
[英]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.