[pandas] 输出满足条件的索引

index.tolist()   输出满足条件的索引内容

输出结果为list类型

例子:

# -*- coding: utf-8 -*-
"""
Created on Wed Jun 17 11:08:01 2020

@author: jean2257
"""

import pandas as pd

daily = {'公司':['Ao','Bo','Bingo'],'排名':[3,2,1], '得分':[10, 15, 16]}

daily = pd.DataFrame(daily)

# 输出得分不低于15分的公司名称

daily.set_index('公司', inplace = True)

out = daily[daily['得分'] >= 15].index.tolist()
print(out)

 

pandas 中,我们可以使用布尔索引(Boolean indexing)来筛选符合条件的数据。布尔索引是一种通过传递布尔值(True 或 False)来选择数据的方法。其原理是:对于一个DataFrame或Series对象,我们可以将条件表达式应用到数据集上,返回的是一个由布尔值组成的DataFrame或Series对象,对于表中每一行或每一个元素,如果满足条件,那么相应的位置就会返回True,否则就会返回False。可以使用这个布尔型的DataFrame或Series对象作为索引,从而得到我们想要的数据。 举个例子,假设我们有以下的一个DataFrame对象df: ``` import pandas as pd import numpy as np df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'], 'C': np.random.randn(8), 'D': np.random.randn(8)}) print(df) ``` 输出结果如下: ``` A B C D 0 foo one 0.171342 -1.256501 1 bar one -1.426386 -1.103743 2 foo two 0.877635 -0.938616 3 bar three 0.213667 -0.305198 4 foo two -1.081901 -1.291754 5 bar two -1.228686 -0.170729 6 foo one -0.112596 -1.021848 7 foo three 0.300287 -0.099065 ``` 我们想要筛选出所有A列中值为'foo'的行,可以使用以下代码: ``` df[df['A'] == 'foo'] ``` 输出结果如下: ``` A B C D 0 foo one 0.171342 -1.256501 2 foo two 0.877635 -0.938616 4 foo two -1.081901 -1.291754 6 foo one -0.112596 -1.021848 7 foo three 0.300287 -0.099065 ``` 这里我们首先使用了一个条件表达式df['A'] == 'foo',返回的是一个由布尔值组成的Series对象。然后我们将这个Series对象作为索引传递给df,得到了我们想要的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值