[英]Filter data frame based on values in column
我有一個數據幀(df1)如下所示:
value
loc1 10
loc2 1
loc3 2
loc4 12
loc5 14
loc6 3
loc7 4
我想獲取所有ID> 10的ID的列表。
這是我的解決方案,但格式不正確:
id_outlier = df1 [df1> 10]
value
loc1 10
loc2 NaN
loc3 NaN
loc4 12
loc5 14
loc6 NaN
loc7 NaN
我想要的輸出是:
loc1
loc4
loc5
首先,您忘記了使用value
屬性。
id_outlier = df1[df1.value >= 10]
您也可以使用bracket
表示法。
id_outlier = df1[df1['value'] >= 10]
正如我從您的問題中看到的那樣,您需要返回的是由上述條件語句過濾的indexes
列表。 為此,您必須使用index
屬性。
id_outlier = df1[df1.value >= 10].index
輸出量
In[1]: id_outlier
Out[1]: Int64Index(['loc1', 'loc4', 'loc5'],
dtype='int64', length=3)
如果要獲取一個numpy數組,只需使用values
屬性。
id_outlier = df1[df1.value >= 10].index.values
或使用tolist
獲取python列表。
id_outlier = df1[df1.value >= 10].index.tolist()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.