欢迎来到夜的世界

莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生.料峭春风吹酒醒,微冷,山头斜照却相迎。回首向来萧瑟处,归去,也无风雨也无晴。
扩大
缩小

Pandas 中根据列值,选取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 = 3 和 attr = 22 的数据

# 结果 
  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)]

posted on 2020-09-04 17:48  二十四桥_明月夜  阅读(7046)  评论(0编辑  收藏  举报

导航