簡體   English   中英

如何 select 所有行包含*在選定列中*大於閾值的值?

[英]How to select all rows which contain values *in selected columns* greater than a threshold?

我正在嘗試做與這個問題相同的事情,但我有一個字符串類型的列,我需要將其保留在 dataframe 中,以便我可以識別哪些行是哪些行。 (我想我可以通過索引來做到這一點,但我希望能夠節省一步。)有沒有辦法在使用.any()時不計算列,但將其保留在生成的 dataframe 中? 謝謝!

這是所有列上的代碼:

df[(df > threshold).any(axis=1)]

這是我現在正在使用的硬編碼版本:

df[(df[list_of__selected_columns] > 3).any(axis=1)]

這對我來說似乎有點笨拙,所以我想知道是否有更好的方法。

您可以使用.select_dtype來選擇所有,比如數字列:

df[df.select_dtype(include='number').gt(threshold).any(axis=1)]

或一大塊帶有iloc的連續列:

df[df.iloc[:,3:6].gt(threshold).any(axis=1)]

如果你想 select 一些隨機的列列表,你最好通過硬編碼列表來解決。

暫無
暫無

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

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