基于列中的值筛选数据帧

2024-07-05 12:58:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧(df1),看起来像这样:

       value 
loc1   10
loc2   1
loc3   2
loc4   12
loc5   14
loc6   3
loc7   4

我要获取所有具有值的id的列表>;十

这是我的解决方案,但格式不对:

id\u outlier=df1[df1>;[第10页]

           value 
    loc1   10
    loc2   NaN
    loc3   NaN
    loc4   12
    loc5   14
    loc6   NaN
    loc7   NaN

我想要的输出是:

loc1 
loc4 
loc5

Tags: 数据gtid列表valuenan解决方案df1
1条回答
网友
1楼 · 发布于 2024-07-05 12:58:55

首先,您忘记使用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()

相关问题 更多 >