Pandas 中根据列值,选取DataFrame数据,并获取行索引号列表

一、根据列条件,获取行索引号并转成列表

#在dataframe中根据一定的条件,得到符合要求的某些行元素所在的位置

import pandas as pd
df = pd.DataFrame({'BoolCol': [1, 2, 3, 3, 4],'attr': [22, 33, 22, 44, 66]},  
       index=[10,20,30,40,50])  
print(df)  
a = df[(df.BoolCol==3)&(df.attr==22)].index.tolist()  
print(a)  
输出

  BoolCol  attr  
10        1    22  
20        2    33  
30        3    22  
40        3    44  
50        4    66  
[30]  
注意:
df[(df.BoolCol==3)&(df.attr==22)].index返回的是index对象列表,需转换为普通列表格式时用tolist()方法

---------------------------------------------------------------------------------------------------------------------------------

二、根据列条件,选取dataframe数据框中的数据

# 选取等于某些值的行记录 用 == 

df.loc[df['column_name'] == some_value]

# 选取某列是否是某一类型的数值 用 isin

df.loc[df['column_name'].isin(some_values)]

# 多种条件的选取 用 &

df.loc[(df['column'] == some_value) & df['other_column'].isin(some_values)]

# 选取不等于某些值的行记录 用 !=

df.loc[df['column_name'] != some_value]

# isin返回一系列的数值,如果要选择不符合这个条件的数值使用~

df.loc[~df['column_name'].isin(some_values)]
--------------------- 
作者:kp-learning 
来源:CSDN 
原文:https://blog.csdn.net/huang_susan/article/details/80626698 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值