pandas库学习笔记(二)DataFrame入门学习

Pandas基本介绍——DataFrame入门学习

前篇文章中,小生初步介绍pandas库中的Series结构的创建与运算,今天小生继续“死磕自己”为大家介绍pandas库的另一种最为常见的数据结构DataFrame。

DataFrame是二维标记的数据结构(三维结构请看Panel,后面为大家介绍),你可以把它看成一张电子表格或者SQL关系库中的表格。DataFrame是pandas库中最为常见的一种数据结构,正如Series一样,它也有很多不同的创建方法:

  • Dict of 1D ndarrays, lists, dicts, or Series
  • 2-D numpy.ndarray
  • Structured or record ndarray
  • A Series
  • Another DataFrame

1、  from dict of Series or dicts

DataFrame中的index与Series结构中的index是独立的。如果输入数据是一个嵌套的dict结构,系统首先会将内部的dict转化为Series。如果初始化时没有给列名赋值,列名将会默认问dict keys.

 

行标和列标都可以通过index和columns属性获得。

注:当一个column集合与dict数据同时初始化,此时column集合将取代dict数据中的key值成为DataFrame的列名。

2、  from dict of ndarrays/lists

ndarrays长度必须都是一样的,如果index手动初始化,index的长度同样需要与ndarrays一样长。如果index没有手动给出,range(n-1)将默认初始化为index。

 

3、  from structured or record array

这种情况与dict of arrays一样。

 

4、  from a list of dicts

 

5、  from a dict of tuples

可以通过tuples dictionary创建一个multi-index frame。

 

6、  from a Series

DataFrame的index与Series的index一致,如果没有其他column名称给出,DataFrame的column值与Series的一致。

 

DataFrame数据对齐运算

1、两个不同的DataFrame进行运算时,DataFrame会根据行标和列标将对应位置的值一一对应运算。

2、DataFrame和Series进行运算时,将会根据Series的index对DataFrame的所有columns进行逐行计算。

3、针对带有时间序列的数据,DataFrame index也可以是时间序列,the broadcasting will be column-wise。

暂先总结这些,DataFrame的运算和初始化方法还有很多,这里就不加赘述,大家可以参考链接:http://pandas.pydata.org/pandas-docs/version/0.18.1/dsintro.html

原文地址:https://www.cnblogs.com/huiyang865/p/5553494.html