excel学习库

excel表格_excel函数公式大全_execl从入门到精通

带你看懂pandas中的两种数据结构

Pandas是基于Numpy的一种工具,这个工具是为了解决数据分析任务而创建的,pandas纳入了大量的库和一些标准的数据模型,提供了高效的操作大型数据集所需的工具,pandas提供了大量能使我们快速便捷的处理数据的函数和方法。Pandas是使Python成为强大而高效的数据分析环境的重要因素之一。另外 在pandas包含了三种数据结构: SeriesDataFrameTime-series下面我们就介绍一下Series和DataFrame这两种常用的数据结构,Time-series时间序列,我们后期会专门在开一篇文章仔细的去讲述一下。 一、Series Series是一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率,并且series可以运用Ndarray或字典的几乎所有索引操作和函数,融合了字典和ndarray的优点。 1、series索引 Series类型是由一组数据及与之相关的数据索引组成 自动索引:不创建系统自动创建索引。 自定义索引:自定义索引,创建完自定义索引后,自动索引也在。 Series是一维带’标签’数组,它的基本操作类似Ndarray和字典,genuine索引对齐。 2、创建对象 Series(列表/元组/字典/标量/Numpy数组/range等序列,<index=param1>)不写index会自动创建索引,如果写定指定索引,index可以是列表,numpy数组。 列子如下: 参数:列表或元组,并分别创建自动索引和手动索引(自动索引还在)可以看出index('a', 'b', 'c', 'd', 'e')分别对应1,3,5,7,9 参数:字典,并分别创建自动索引和手动索引字典的key作为索引,value作为值如果字典中在设置index,就相当于是从字典中挑选数据 参数:标量 Index可以是列表,元组,range序列,numpy数组参数:numpy数组(ndarray)3、属性 Series的主要属性包括index和values两部分 属性 说明 Values 获取数据,底层存储的是numpy数组 Index 获取索引 还有两个不太重要的属性 Name Series的name(在DataFrame中没有Name属性) Index.name 索引的name 还有一些类似于numpy数组的属性,比如dtype和shape等。 下面是一些属性的列子:3.1Values值3.2Index索引3.3Name,series的名字3.4Index,series索引的名字4、选取 series类型的选取类似numpy数组,索引的方式相同,采用[],numpy中的运算和操作可用于series类型,可以通过自定义索引的列表进行切片也可以通过自动索引进行切片,如果存在自定义索引,则一同被切片series类型的操作类似于python字典类型:通过自定义索引访问,保留字in操作,使用.get()方法PS:.get(key,default=none)函数返回指定键的值,如果值不再字典中则返回默认值(默认为空),key是要查找的键,default是设置的默认值。 5、series类型对齐操作 Series+series,series类型在运算中会自动对齐不同索引的数据。 Series类型对齐6、获取,设置,删除等 6.1获取值 由于具备numpy数组和字典的特性,series可以像使用numpy数组的索引切片或用字典的get一样来用。6.2设置/修改:索引和切片将a修改为11将b,c修改为100将b,c改为101和102将b,c改为103和104(注意这次用的是逗号,表示单独挑选出了b和c,上面是b到c)6.3删除 drop方法(结果改变)和pop(像字典的用法,改变自身) Drop:删除a,结果改变删除b和dPop:二、DataFrame DataFrame类型由公用相同索引的一组序列组成,是一个表格型的数据类型,每列值类型可以不同。DataFrame即有行索引也有列索引: Index axis = 0(默认)Column axis = 1(默认)DataFrame常用于表达二维数据,但可以表达多维数据,基本操作类似于Series,依据行列索引 1、DataFrame的创建 1.1、从内存中创建 语法: DataFrame(字典/列表/numpy数组/DataFrame,index=0,columns=1)也可以在创建的时候不指定index和columns,在创建完后单独设置这两个属性。 常用的参数: 字典:key作为列名,value作为该列的值。列表:作为值Numpy数组:作为值例子:列表手动创建行索引和列索引,方法1:创建的时候就设置好行列索引手动创建行列索引,方法2:创建的时候设置自动索引,之后在修改二维numpy数组手动输入数组使用方法生成数组字典(key是列名,value可以是数据,也可以是series类型)手动创建列索引,行索引自动创建手动创建列索引,手动创建行索引1.2、从文件中创建 DataFrame可以从文件中创建: 文件第一行默认作为列索引(columns),默认为没有行索引,可以通过indx_dol参数设置第1列或前几行作为行索引。如果第一行不作为列索引,设置header=none。 文件编码为utf-8,可以通过参数encoding设置编码。 方式 作用 pd.read_csv(filename) 从CSV文件导入数据, 文件是逗号分隔。 pd.read_table(filename,<sep='\t'>) 从限定分隔符的文本文件导入数据,默认是 tab pd.read_excel(filename) 从Excel文件导入数据 pd.read_sql(query, connection_object) 从SQL表/库导入数据 pd.read_json(json_string) 从JSON格式的字符串导入数据 pd.read_html(url) 解析URL、 字符串或者HTML文件, 抽取其中的tables表格 pd.read_clipboard() 从你的粘贴板获取内容, 并传给read_table() 下面我们就将上面的这么多方法一个个演示一遍,文章中用的这些数据可以自己生成对应格式的就可以了,这个是不影响的,只要自己掌握了这些知识就好。Pd.read_csv(filename):从CSV文件导入数据,文件是逗号分隔。编码是utf-8编码是gbk读取的时候,可以带行索引,用index_col=列不把第一行作为列索引(在有些情况下,文件中全部都是数据)2)pd.read_table(filename)查看DataFrame的信息http://df.info()3) pd.read_excel(filename):从Excel文件中导入数据4) pd.read_sql(query, connection_object):从SQL表/库导入数据 SQLAlchemy是python编程语言下的一款ORM框架,该框架建立在数据库API上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL 首先导入两个模块,连接数据库建议用sqlalchemy,使用pymysql可能会出问题Sqlalchemy.create(‘mysql+pymysql://用户名:用户名密码@localhost:编号/数据库名称’) 不清楚用户名和编号的可以使用mysql workbench查看 将文件写入到数据库中 Test是要在数据库中创建的表名,表示的意思是将df的数据传入到数据库lianxi下的表test中 5) pd.read_json(json_string)6) pd.read_html(url) 首先要安装html5lib,pip install html5lib7) pd.read_clipboard():从剪切板导入数据 首先复制一段文字 然后运行代码2、写入文件 写入数据后,前往输入路径下查看文件 方式 作用 df.to_csv(filename) 导出数据到CSV文件 df.to_excel(filename) 导出数据到Excel文件 df.to_sql(table_name, connection_object) 导出数据到SQL表 df.to_json(filename) 以Json格式导出数据到文本文件1)第一种方式:将行索引和列索引肉写入到文件 df.to_csv(filename):将文件导出到CSV文件中

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接