首页 > 编程知识 正文

数据结构线性表知识点,pandas分类汇总

时间:2023-05-06 01:25:29 阅读:157283 作者:4409

Pandas知识点-DataFrame数据结构简介一、Pandas简介和安装

Pandas是Python用于数据处理和数据分析的开源库,由金融数据分析师Wes McKinney于2008年开发。 Pandas是为了方便金融数据的分析而开发的。 现在,Pandas的功能越来越丰富,应用范围也越来越广,在大多数需要处理数据的地方都很有用。

Pandas基于numpy和matplotlib开发,同时具有numpy的高性能数据处理能力和matplotlib的绘制能力。 Pandas还更高级地封装和扩展了numpy和matplotlib的几种方法,使其使用方便、快捷,功能也更强大。

Pandas是第三方库,安装命令如下。

pipinstallpandas-I https://pypi.tuna.Tsinghua.edu.cn/simple本文将通过多篇文章介绍pandas的知识点。

二、初始数据准备

Pandas最初用于金融数据分析,所以我首先获取了股票数据(贵州茅台的历史交易数据)。 数据来源于网络财经,可以直接下载(可以直接下载的不要想爬虫)。 目的是获得数据,爬行动物需要处理很多反向爬行。

数据获取步骤:

1 .进入网上财经主页,在站内搜索“贵州茅台”或其股票代码“600519”。

2 .进入贵州茅台的股价页面,向下滚动至“资金流”视图栏,点击右上角的“更多”。

3 .进入资金流向详细信息页面后,单击“历史交易数据”,然后单击“下载数据”,即可下载贵州茅台的历史交易数据。 其他股票也一样。

指向最终获取的数据的链接是http://quotes.money.163.com/trade/lsjysj _ 600519.html # 01 b 07

下载的数据为. csv格式的文本,数据无需处理,可以直接使用,也可以在办公软件Excel中打开。 为了便于以后调用代码,请在下载完成后将此. csv文件复制到代码的同级目录下。

三、DataFrame数据结构介绍

1. Pandas读取csv文件的数据

# coding=utf-8 importpandasaspddata=PD.read _ CSV (' 600519.CSV ',encoding='gbk ' ) print ) data ) print 下载数据的编码格式为“gbk”,读取数据时也请指定“gbk”。 如果不指定,将报告错误。

type ) )函数打印数据类型。 数据类型为DataFrame。 表示刚从csv文件中读取的数据为DataFrame数据。

class ' pandas.core.frame.data frame '2. data frame配置数据结构

DataFrame数据是Pandas的基本数据结构,同时具有行索引(index )和列索引(columns ),看起来类似于Excel表。

DataFrame数据由行索引、列索引和数据三部分组成。 pandas读取DataFrame数据时,如果数据的行数和列数较多,则会自动折叠数据,中间的显示为“.”。

与numpy的ndarray相比,ndarray只有数据部分,没有行索引和列索引,缺乏数据的说明和说明,不对数据赋予实际的意义。 DataFrame具有行和列索引,支持多个索引操作,使数据更接近真实场景,更容易处理。

四、DataFrame的基本属性

1. DataFrame的行索引和列索引columns

DATA=PD.read_CSV(600519.CSV ),encoding=(gbk ) ) print ) data.index ) print ) data.columns ) rangeindex ) “收盘价”、“最高值”、“最低价”、“起始价”、“前收盘价”、“涨价幅度”、“换手率”、“成交额”、“市值”、“流通市值”、“dtype”

DATA=PD.read_CSV(600519.CSV,encoding='gbk ' ) ) print ) data.values ) ['2021-02-19''60]

0519" '贵州茅台' ... 14525164525.0 3090246588000.0 3090246588000.0] ['2021-02-18' "'600519" '贵州茅台' ... 16704135269.0 3104064763800.0 3104064763800.0] ['2021-02-10' "'600519" '贵州茅台' ... 15675929714.0 3267370477800.0 3267370477800.0] ... ['2001-08-29' "'600519" '贵州茅台' ... 194689620.0 9095000000.0 2601170000.0] ['2001-08-28' "'600519" '贵州茅台' ... 463463143.0 9215000000.0 2635490000.0] ['2001-08-27' "'600519" '贵州茅台' ... 1410347179.0 8887500000.0 2541825000.0]]

values只获取DataFrame中的数据,是一个numpy.ndarray对象,即多维数组。

3. DataFrame的形状shape和转置.T

data = pd.read_csv("600519.csv", encoding='gbk')print("形状: ", data.shape)data2 = data.Tprint("转置后形状: ", data2.shape) 形状: (4726, 15)转置后形状: (15, 4726)

4. DataFrame中的数据类型

data = pd.read_csv("600519.csv", encoding='gbk')print(data.dtypes) 日期 object股票代码 object名称 object收盘价 float64最高价 float64最低价 float64开盘价 float64前收盘 float64涨跌额 object涨跌幅 object换手率 float64成交量 int64成交金额 float64总市值 float64流通市值 float64dtype: object

与numpy中的ndarray相比,同一个ndarray中的数据类型是一致的,而DataFrame中的每一列数据可以是不同类型的数据。

五、DataFrame部分显示

本文中的数据有四千多行,很多时候,没有必要所有行都显示,只显示一部分即可。

Pandas中实现了两个常用的部分显示方法,head()和tail()。

head(n=5): 显示前5行数据。n可以根据需要传入,如果不传值默认显示5行。

tail(n=5): 显示后5行数据。n同head()。

data = pd.read_csv("600519.csv", encoding='gbk')print(data.head()) 日期 股票代码 名称 ... 成交金额 总市值 流通市值0 2021-02-19 '600519 贵州茅台 ... 1.452516e+10 3.090247e+12 3.090247e+121 2021-02-18 '600519 贵州茅台 ... 1.670414e+10 3.104065e+12 3.104065e+122 2021-02-10 '600519 贵州茅台 ... 1.567593e+10 3.267370e+12 3.267370e+123 2021-02-09 '600519 贵州茅台 ... 7.972930e+09 3.085762e+12 3.085762e+124 2021-02-08 '600519 贵州茅台 ... 8.420759e+09 2.975681e+12 2.975681e+12[5 rows x 15 columns]

六、DataFrame的索引设置

1. 设置某一列为行索引

上面的DataFrame数据中,行索引是0~4725的整数,假如要设置日期为行索引,可以使用set_index()方法设置。

data = pd.read_csv("600519.csv", encoding='gbk')data3 = data.set_index('日期')print(data3.head())

将日期设置为行索引后,“日期”这一列数据变成了索引,数据中就不再有日期了。set_index()移动了列的位置,从数据移动到了行索引(但没有删除数据)。如果要将某列数据作为行索引,同时数据中也有该列数据,可以在set_index()中指定drop参数为False(set_index()中drop参数默认为True)。

2. 重设索引

修改DataFrame的行索引后,如果要将行索引还原成初始状态,可以使用reset_index()方法还原。

data4 = data3.reset_index()print(data4.head())

reset_index()和set_index()是互逆的,不管set_index()将索引修改成了什么,都可以用reset_index()进行还原。如果set_index()中指定了drop参数为False,reset_index()中要将drop参数设置为True(reset_index()中drop参数默认为False,与set_index()相反)。

3. 设置多重索引MultiIndex

使用set_index()设置行索引时可以同时设置多个列为行索引。当一列中的数据不唯一时,可以使用两列或多列来组合成多重行索引,当需要将数据处理成多维数据时,也可以用多重索引。

data = pd.read_csv("600519.csv", encoding='gbk').head()data5 = data.set_index(['日期', '股票代码'])print(data5)print(data5.index)

可以看到,当同时设置“日期”和“股票代码”为行索引后,打印行索引的结果是MultiIndex(多重索引),而前面打印原始数据的行索引为Index。

以上就是Pandas中DataFrame数据结构的基本介绍。DataFrame是Pandas中最常用的数据结构,大部分方法都是对DataFrame作处理,后面会陆续介绍更多相关的属性和方法。

如果不想自己下载数据,可以扫码关注公众号“Python碎片”,然后在后台回复“pandas01”关键字获取本文代码和数据。

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。