#!/usr/bin/env python # coding: utf-8 # In[1]: import pandas as pd from pandas import Series, DataFrame import numpy as np # In[8]: df = DataFrame(np.random.randn(6,4), columns=list('ABCD')) df # ##1. DataFrame选择数据 # **选择A列的数据** # In[3]: df['A'] # **切片得到行数据** # In[4]: df[1:3] # **DataFrame的loc方法帮助选择数据** # In[9]: # 选择第0行数据 df.loc[0] # In[10]: # 选择多列数据 df.loc[:, ['A', 'B']] # In[11]: # 选择局部数据,行列交叉区域的数据 df.loc[0:2, ['A', 'B']] # In[12]: # 只选择一个数据 df.loc[0, 'A'] # **at方法用于专门获取某个值** # In[13]: df.at[0, 'A'] # ##2. DataFrame切片操作 # **iloc方法提取第四行数据** # In[14]: df.iloc[3] # In[15]: # 返回series数据类型 type(df.iloc[3]) # In[16]: # 返回地4-5行,1-2列 df.iloc[3:5, 0:2] # In[17]: # 提取不连续行和列的数 df.iloc[[1,2,4], [0,2]] # In[18]: # 提取某一个值 df.iloc[1,1] # **iat是专门提取某个数的方法,效率更高** # In[19]: df.iat[1,1] # ##3. DataFrame筛选数据 # In[21]: # 筛选D列数据中大于0的行 df[df.D > 0] # In[22]: # 使用&符号实现多条件筛选 df[(df.D > 0) & (df.C < 0)] # **加入我们只需要A和B列的数据,而D和C列数据都是用于筛选的,可如此写** # In[23]: df[['A', 'B']][(df.D > 0) & (df.C < 0)] # **通过insin方法来筛选特定的值** # In[ ]: # alist = [1, 0.054497, 0.36]