pandas 选择数据

索引pandas DataFrame的方法总结 

1. 直接用中括号索引 行或者列 :

   1) 用 df['A'] 索引 或者 df.A

   2) 用切片索引 df[1:3] 或者  df['20130101':'20130103']

2. 用 df.loc[] 索引 ,如果用 切片 或 list 只能用 index 或者 columns的名字

  1) 可以用切片或者list 来选择行列 ,参数1为行,参数2为列,例如 

    df.loc[:,['A','B']]
      df.loc['20130101',['A','B']]

3.  用 df.iloc[] 索引,如果用切片或者list表示,只能用index

4.  用条件选择rows ,之后可以再用loc iloc选择行列

https://www.bilibili.com/video/BV1Ex411L7oT?p=12

import pandas as pd
import  numpy as np

dates = pd.date_range('20130101',periods=6)
# index 有6 columns 有4 所以要reshape(6,4)
df = pd.DataFrame(np.arange(24).reshape((6,4)) , index = dates,columns= ['A','B','C','D'])

print(df)

# 1.索引方法  索引列
print(df['A'],df.A)
# 2.切片索引rows  根据 index 或者根据 index name
print(df[1:3] , df['20130101':'20130103'])
# 3. select by label  loc
print(df.loc['20130101'])
# 4. 打印 全部行的 A B 两列 , 注意列的list 与切片一样, 是整体作为 df.loc[]的一个参数
print(df.loc[:,['A','B']])
# 5. 只打印 某行的 A B 两列
print(df.loc['20130101',['A','B']])
#6. select by position  iloc
print(df.iloc[3])  # 打印第三行
print(df.iloc[3:5,1:3])  # 切片 打印第三行到第五行,第一列到第三列
print(df.iloc[[1,3,5],1:3])

# 7. Boolean indexing  选择满足条件的rows
print(df)
print(df[df.A>8])
print(df[df.A > 8].loc[:,['A','B']])
原文地址:https://www.cnblogs.com/ChevisZhang/p/13837426.html