pandas学习笔记—DataFrame查询

1、列查询

import pandas as pd

#创建测试df
df_book = pd.DataFrame(data=[['论语',5,5], ['三体',10,6], ['资治通鉴',8,9],     
                             ['DEEP LEARNING',3,5],['黄帝内经',7,10]], 
                        columns = ['书名','数量','单价'], index=['a','b','c','d','e'])

#用列名直接访问,单列会返回series类型
df_book.书名
df_book['书名']
type(df_book['书名'])      #返回Series类型,可以使用type()函数检验

#用列表访问多列,多列会返回DataFrame类型
df_book[['书名','单价']]
type(df_book[['书名','单价']])    #返回DataFrame类型

2、行查询

#使用切片按行访问
df_book['a':'c']     #返回DataFrame
df_book['a':'e':2]
df_book['a':'a']     #返回DataFrame

3、loc函数和iloc函数

#loc函数通过显示索引访问df,iloc函数通过隐式索引访问df
#语法:df.loc[行,列]   行/列参数,可以使用单值/切片/列表
df_book.loc['a':'e':2,'书名']       #返回是单行或单列时,都是Series类型
df_book.loc['a',['书名','单价']]

df_book.loc['a':'e':2]     #返回全部列
df_book.loc['a':'e':2,['书名','单价']]    #返回多行多列时,是DataFrame类型

#iloc函数,使用隐式索引访问
df_book.iloc[0:3,1]

4、布尔索引

#布尔索引是继承自numpy的高级索引功能之一
df_book[df_book['单价']>5]
df_book[df_book['a':'c']=='论语']      #行与列的模式返回值不一样哦

#多个条件需要使用:& ‘与’       | ‘或’
df_book[(df_book['单价']>5) & (df_book['数量']<8)]

5、访问索引、列名和单个值

你可能感兴趣的:(pandas,学习,笔记)