簡體   English   中英

熊貓數據框選擇小於一列內容浮點值的所有行

[英]Pandas data frame select all rows less than a column content float values

我有一個如下所示的數據框。我需要從數據框中選擇列值小於或等於 0.3768 的所有行。 但我收到一個錯誤。

下面是我的數據框。

在此處輸入圖像描述

我需要選擇列值小於或等於 0.3768 的所有行。

下面是我的代碼

for column in df_thd_funct_mode1_T:
 
new_df = df_thd_funct_mode1_T.loc[(np.isclose(df_thd_funct_mode1_T[column] <= .3768))]

我收到如下所示的錯誤。

類型錯誤:“str”和“float”的實例之間不支持“<=”

我可以知道如何解決這個問題

我運行 Christian 提供的腳本。但我在新數據框中得到的值大於 .3768。

在此處輸入圖像描述

如果要檢查多個列,則必須添加條件來檢查每個列。 每個條件都應該是這樣的:

df.loc[df['column_name'] <= 0.3768 ]

檢查這些示例,它應該對您的問題有所幫助: https ://www.statology.org/pandas-select-rows-based-on-column-values/

你可以在這里試試這個:

new_df = df_thd_funct_mode1_T[df_thd_funct_mode1_T.apply(lambda row: all(float(column) <= .3768 for column in row), axis=1)]

在這里,您不再需要示例中的循環。

我基本上通過那里的數據框和我檢查的每一行, all值是否小於 0.3768。

如果要過濾這樣的內容,即只要該行中有任何小於 .3768 的值就接受該行,則必須將all替換為any

當然,這僅在所有列僅包含浮點數的條件下才有效。 如果沒有,那么您將遇到錯誤,並試圖將其轉換為浮點數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM