人工智能选股之Python实战02

0
回复
5649
查看
[复制链接]

53

主题

8

回帖

836

积分

管理员

积分
836
来源: 2019-11-24 22:36:15 显示全部楼层 |阅读模式
pandas 和 DataFrame
pandas 是 Python Data Analysis Library 的缩写,是基于 NumPy 编写的数据分析包。 pandas 最大的特色是提供了 DataFrame 这一数据结构,极大地简化了以往数据分析过程 中的一些繁琐操作,受到数据科学领域工作者的欢迎。
  • 调入 pandas 包
016.png
在使用 pandas 包之前,需要通过 import 命令调入 pandas 包。以后每次使用 pandas 包 中的函数,在函数名前加上 pd.即可。
  • 数据的读入读出 在进行对数据的处理和分析之前,我们首先需要将数据读入内存;而在处理和分析结束后, 我们往往也需要将结果写入文件之中。使用 pandas 可以很方便地帮助我们完成这项任务。
pd.read_csv(‘ex1.csv’) :读入 csv 文件。其中 pd 指调用 pandas 包,单引号内为将要调 用的文件名。
df.to_csv(‘ex1.csv’) :读出 csv 文件。其中 df 为将要存储的 DataFrame 表格名,单引号 内为想要存储的文件名。
pd.read_excel(‘foo.xlsx’, ‘Sheet1’) :读入 excel 文件
df.to_excel(‘foo.xlsx’, sheet_name=‘Sheet1’) :读出 excel 文件。其中’Sheet1’是指读入 或读出 excel 文件时使用的工作表名。其余参数用法和 csv 文件的读入读出类似。
  • Series pandas 的常用数据结构有 Series 和 DataFrame。Series 是一种类似于一维数组的对象, 由一组数据以及一组与之相关的数据标签组成。构建 Series 对象的函数:pd.Series

017.jpeg
可以看出,pd.Series 得到一组一一对应的标签与数据。可以对数据进行切片、数值运算 等操作。Series 的操作相对简单,在此我们不深入讨论。
  • DataFrame 数据集(DataFrame)是一个表格型的数据结构,其直观的存储方式以及丰富的操作,使 其成为分析海量数据时使用最多的数据结构。DataFrame 通常包含一系列有序的列,每列 可以是不同的值类型。DataFrame 既有行索引,也有列索引。
pd.DataFrame:构建 DataFrame。下面的例子展示了分别构建两个 DataFrame 即 df 和 df2 的过程。
018.jpeg
上述代码段的第 1 行定义了字典(Dictionary)类型的变量 data。字典是 Python 的常用数 据类型之一,以花括号{}表示,内部包含多个条目,每个条目包含一组对应的键(key,例 如第 2 行的’B’)和值(value,例如第 2 行的[2,1,15,-4,27])。 更多关于字典的操作可以使 用 help(‘dict’)命令进行查询。
定义字典 data 之后,我们以 data 为基础,构建了 df 和 df2 两个 DataFrame。df 和 df2 的区别在于 columns 和 index。columns 是对其列索引的管理,可指定列的名称;index 是对行索引的管理,可指定行的名称。index 在赋值之后不可更改。我们可以在初始化 DataFrame 时,赋予其行索引值,如 index=list(range(5)),默认为从 0 开始公差为 1 的等 差数列,共 5 个数;如果需要设置为从 1 开始,如 In[6],可使用 index=list(range(1,6)), 即取[1,6)中的 5 个正整数;当然也可以直接赋予其它值。
sort_index() 或 sort_values():对 DataFrame 按某一列进行排序。下面的例子中,我们 对 df 按 B 的大小降序排列。
019.jpeg
dropna:去除 DataFrame 中的缺失值。
020.jpeg

loc 和 iloc:对数据进行切片,选取部分内容。loc 是根据 dataframe 的具体标签选取列, 而 iloc 是根据标签所在的位置,从 0 开始计数。其中中括号内逗号前是指选取的行序列, 逗号后是指选取的列序列。
021.jpeg
append:连接另一个 DataFrame 对象,产生一个新的 DataFrame 对象。
022.jpeg


更多详细的 pandas 使用指南可以参考: http://pandas.pydata.org/pandas-docs/stable/10min.html

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册
关注微信