Python–Pandas简单了解 
1. Pandas介绍 
1.1 Pandas介绍 - 数据处理工具 
panel + data + analysis- panel面板数据 - 计量经济学 三维数据
   
1.2 为什么使用Pandas 
- 便捷的数据处理能力
 - 读取文件方便
 - 封装了
Matplotlib、Numpy的画图和计算   
1.3 DataFrame 
- 结构:既有行索引,又有列索引的二维数组
 - 属性: 
  
shape # (2,3)index : 行索引,表名不同行,横向索引,叫indexcolumns : 列索引,表名不同列,纵向索引,叫columnsvalues :直接获取其中array的值T : 转置   - 方法: 
  
head() 默认显示前5行,可指定head(3)tail() 默认显示后5行   - 3 DataFrame索引的设置 
   
   
   
   
  
DataFrame索引的设置 
- 以某列值设置为新的索引 
  
set_index(keys, drop=True) 
    keys : 列索引名称或者列索引名称的列表drop:boolean, default True. 当作新的索引,删除原来的列       
   
  
- 2 
Panel 
    - 3 
Series 
    - 总结: 
  
DataFrame是Series的容器Panel是DataFrame的容器     
   
2. 基本数据操作 
2.1 索引操作 
 
data = pd.read_csv("./stock_day/stock_day.csv")
  
   
 
data = data.drop(["ma5","ma10","ma20","v_ma5","v_ma10","v_ma20"], axis=1)
  
   
- 直接索引 
   
 - 按名字索引 
   
 - 按数字索引 
   
 - 组合索引 
   
   
      
2.2 赋值 
   
2.3 排序 
 
  
- 使用
df.sort_values(key= , ascending=)对内容进行排序 
  - 单个键或者多个键进行排序,默认升序
 ascending=False,降序ascending=True,升序     
  
- 使用
series.sort_values(ascending=)对内容进行排序 
  - series排序时,只有一列,不需要参数
 ascending=False,降序ascending=True,升序   - 使用
series.sort_index(ascending=)对索引进行排序 
      
   
3. DataFrame运算 
算术运算 
   
逻辑运算 
 
   
统计运算 
min max mean median var std 最小值,最大值,均值,中位数,方差,标准差np.argmax()np.argmin()describe() 能够直接得出很多统计结果,count,mean,std,min,max 
     
| conut | Number of non-NA observations | 
|---|
 | sum | Sum of values 值的总和 |  | mean | Mean of values 数据的平均值 |  | median | Arithmetic median of values 数据的算数平均值 |  | min | Minimum 最小值 |  | max | Maximum 最大值 |  | mode | Mode 众数 |  | abs | Absolute Value 绝对值 |  | prod | Product of values 值的积 |  | std | Bessel-corrected sample standard deviation 贝塞尔校正样本标准差 |  | var | Uniblased variance 无偏方差;均方差 |  | idxmax | compute the index labels with the maximum 计算索引标签的最大值 |  | idxmin | compute the index labels with the minimum 计算索引标签的最小值 |   
- 对于单个函数去进行统计的时候,坐标轴还是按照这些默认为"columns"(axis=0, default), 如果要对行"index"需要指定(axis=1)
      
自定义运算 
apply(func, axis=0) 
  func:自定义函数axis=0:默认是列,axis=1为行进行运算  - 定义一个对列,最大值 最小值的函数
   
   
4. Pandas画图 
pandas.DataFrame.plot 
DataFrame.plot(x-None, y=None, kind='line') 
  x: label or positon, default Noney : label, positon or list of label , positions, default None 
    - Allows plotting of one colume versus another 允许绘制一列对另一列
   kind : str 
    'line' : line plot (default) 折线图'bar' : vertical bar plot'barh' : horizontal bar plot'hist' : hisogram 直方图'pie' : pie plot 饼状图'scatter' : scatter plot 散点图      
5 文件读取与存储 
5.1 CSV 
1. 读取csv文件-read_csv() 
pandas.read_csv(filepath_or_buffer, sep=',' , delimiter = None) 
  filepath_or_buffer: 文件路径usecols: 指定读取的列名, 列表形式    
2. 写入csv文件-to_csv() 
DataFrame.to_csv(path_or_buf=None, sep=',' ,columns=None, header=True, index=True, index_label=None, mode='w', encoding=None) 
  path_or_buf : string or file handle, default Nonesep :character, default’,’columns: sequence, optionalmode: ‘w’:重写, ‘a’:追加index: 是否写进行索引header: boolean or list of string ,default True,是否写进索引值  Series.to_csv(path=None,index=True,sep=',',na_rep='',float_format=None,header=False,index_label=None,mode='w',encoding=None,compression=None,date_format=None,decimal='.')  
data = pd.read_csv("stock_day2.csv", names=["open", "high", "close", "low", "volume", "price_change", "p_change", "ma5", "ma10", "ma20", "v_ma5", "v_ma10", "v_ma20", "turnover"])
  
   
5.2 HDF5 
hdf5 存储 3维数据的文件
    key1 dataframe1二维数据
    key2 dataframe2二维数据
pd.read_hdf(path, key=)
df.to_hdf(path, key=)
  
1. 读取HDF5文件-read_hdf() 
HDF5文件的读取和存储都需要指定一个键,值为要存储的DataFrame  
pandas.read_hdf(path_or_buf, key=None, **kwargs)- 从h5文件中读取数据 
  
path_or_buf : 文件路径key :读取的键mode:打开文件的模式return :Theselected object     
需要安装tables模块避免不能读取HDF5文件  
pip install tables
  
2. 写入HDF5文件-to_hdf() 
DataFrame.to_hdf(path_or_buf, key, **kwargs) 
  path_or_buf : 文件路径key :读取的键mode:打开文件的模式return :Theselected object    
   
5.3 JSON 
1. read_json() 
pandas.read_json(path_or_buf=None, orient=None, typ='frame', lines=False) 
  - 将JSON格式准换成默认的Pandas DataFrame格式
 orient : string, Indication of expected JSON string format. 
    'split' :dict like {index -> [index], columns -> [columns], data -> [values]}'records' : list like [{column -> value}, …, {column -> value}]'index' : dict like {index -> {column -> value}}'columns' : dict like {column -> {index -> value}},默认该格式'values' : just the values array  lines : boolean , default False 
     typ : default ‘frame’, 指定转换成的对象类型series或者dataframe    
   
2. to_json() 
  
                
                
                
        
    
 
 |