1DataFrame的创建

Posted chenyunhui1994

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1DataFrame的创建相关的知识,希望对你有一定的参考价值。

DataFrame是一种表格型数据结构,它含有一组有序的列,每列可以是不同的值。DataFrame既有行索引,也有列索引,它可以看作是由Series组成的字典,不过这些Series公用一个索引。
DataFrame的创建有多种方式,不过最重要的还是根据dict进行创建,以及读取csv或者txt文件来创建。这里主要介绍这两种方式。
参考链接:https://www.jianshu.com/p/8024ceef4fe2

喜欢编程的小伙伴可以加小编的Q群768671345,进群可以领取免费的学习资料,还有大佬专门给你解答你的问题!

根据字典创建

技术图片

 

 

 技术图片

 

 

 DataFrame的行索引是index,列索引是columns,我们可以在创建DataFrame时指定索引的值:

技术图片

 

 

 技术图片

 

 

 使用嵌套字典也可以创建DataFrame,此时外层字典的键作为列,内层键则作为索引:

技术图片

 

 

 技术图片

 

 

 我们可以用index,columns,values来访问DataFrame的行索引,列索引以及数据值,数据值返回的是一个二维的ndarray技术图片

 

 

 技术图片

 

 

 技术图片

 

 

 技术图片

 

喜欢编程的小伙伴可以加小编的Q群768671345,进群可以领取免费的学习资料,还有大佬专门给你解答你的问题!

 

 

 

2.读取文件

读取文件生成DataFrame最常用的是read_csv,read_table方法。该方法中几个重要的参数如下所示:

 

 

技术图片

 

 

 

其他创建DataFrame的方式有很多,比如我们可以通过读取mysql或者mongoDB来生成,也可以读取json文件等等,这里就不再介绍。

3.DataFrame轴的概念

在DataFrame的处理中经常会遇到轴的概念,这里先给大家一个直观的印象,我们所说的axis=0即表示沿着每一列或行标签索引值向下执行方法,axis=1即
表示沿着每一行或者列标签模向执行对应的方法。

4.DataFrame一些性质

索引、切片

我们可以根据列名来选取一列,返回一个Series:

 

 

技术图片

 

 

 技术图片

 

 

 我们还可以选取多列或者多行:

 

 

技术图片

 

 

 技术图片

 

 

 技术图片

 

 

 当然,在选取数据的时候,我们还可以根据逻辑条件来选取:

技术图片

 

 

 pandas提供了专门的用于索引DataFrame的方法,即使用ix方法进行索引,不过ix在最新的版本中已经被废弃了,如果要是用标签,最好使用loc方法,如果使用下标,最好使用iloc方法:技术图片

 

 

 技术图片

 

 

 

修改数据

可以使用一个标量修改DataFrame中的某一列,此时这个标量会广播到DataFrame的每一行上

技术图片

 

 

 也可以使用一个列表来修改,不过要保证列表的长度与DataFrame长度相同:

技术图片

 

 

 可以使用一个Series,此时会根据索引进行精确匹配:

技术图片

 

 

 

重新索引

使用reindex方法对DataFrame进行重新索引。对DataFrame进行重新索引,可以重新索引行,列或者两个都修改,如果只传入一个参数,则会从新索引行:

技术图片

 

 

 技术图片

 

 

 填充数据只能按行填充,此时只能对行进行重新索引:

技术图片

 

 

 

丢弃指定轴上的值

可以使用drop方法丢弃指定轴上的值,不会对原DataFrame产生影响,指定行时axis = 0,指定列时axis = 1(axis缺省值为0)

技术图片

 

 

 技术图片

 

 

 

算术运算

DataFrame在进行算术运算时会进行补齐,在不重叠的部分补足NA:

技术图片

 

 

 可以使用fill_value方法填充NA数据,不过两个df中都为NA的数据,该方法不会填充

技术图片

 

 技术图片

喜欢编程的小伙伴可以加小编的Q群768671345,进群可以领取免费的学习资料,还有大佬专门给你解答你的问题!

 




以上是关于1DataFrame的创建的主要内容,如果未能解决你的问题,请参考以下文章

Spark DataFrame列的合并与拆分

Python库-pandas详解

Python数据分析pandas真入门-----基础学习

Python数据分析pandas真入门-----基础学习

Spark dataframe 中某几列合并成vector或拆分

Spark dataframe 中某几列合并成vector或拆分