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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM