VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • Python--Pandas简单了解

Python--Pandas简单了解

1. Pandas介绍

1.1 Pandas介绍 - 数据处理工具

  • panel + data + analysis
  • panel面板数据 - 计量经济学 三维数据

1.2 为什么使用Pandas

  • 便捷的数据处理能力
  • 读取文件方便
  • 封装了MatplotlibNumpy的画图和计算

1.3 DataFrame

  • 结构:既有行索引,又有列索引的二维数组
  • 属性:
    • shape # (2,3)
    • index : 行索引,表名不同行,横向索引,叫index
    • columns : 列索引,表名不同列,纵向索引,叫columns
    • values :直接获取其中array的值
    • T : 转置
  • 方法:
    • head() 默认显示前5行,可指定head(3)
    • tail() 默认显示后5行
  • 3 DataFrame索引的设置
    • 1)修改行列索引值
    • 2)重设索引
    • 3)设置新索引

在这里插入图片描述

在这里插入图片描述


DataFrame索引的设置

  • 以某列值设置为新的索引
    • set_index(keys, drop=True)
      • keys : 列索引名称或者列索引名称的列表
      • drop:boolean, default True. 当作新的索引,删除原来的列

在这里插入图片描述


  • Panel
    • DataFrame的容器
  • Series
    • 带索引的一维数组
    • 属性
      • index
      • values
  • 总结:
    • DataFrameSeries的容器
    • PanelDataFrame的容器

在这里插入图片描述

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)

在这里插入图片描述

  1. 直接索引
    • 先列后行
  2. 按名字索引
    • loc
  3. 按数字索引
    • iloc
  4. 组合索引
    • 数字、名字

在这里插入图片描述
在这里插入图片描述

2.2 赋值

在这里插入图片描述

2.3 排序

  • 对内容排序
    • dataframe
    • series
  • 对索引排序
    • dataframe
    • series

  • 使用df.sort_values(key= , ascending=)对内容进行排序
    • 单个键或者多个键进行排序,默认升序
    • ascending=False,降序
    • ascending=True,升序

  • 使用series.sort_values(ascending=)对内容进行排序
    • series排序时,只有一列,不需要参数
    • ascending=False,降序
    • ascending=True,升序
  • 使用series.sort_index(ascending=)对索引进行排序
    • 与df一致

在这里插入图片描述

3. DataFrame运算

算术运算

在这里插入图片描述

逻辑运算

  • 逻辑运算符
    • 布尔索引
- 逻辑运算函数
     -  `query()` 查询
     -  `isin()` 是不是在条件中

在这里插入图片描述

统计运算

  • 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 None
    • y : 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 None
    • sep :character, default','
    • columns: sequence, optional
    • mode: '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
      • 按照每行读取json对象
    • typ : default ‘frame’, 指定转换成的对象类型series或者dataframe

在这里插入图片描述

2. to_json()

在这里插入图片描述

出处:https://www.cnblogs.com/Slience-me/p/15160477.html


相关教程