數據科學--Pandas基本使用

*結構化數據分析利器(依賴numpy)

*提供了多種高級數據結構

*將大的數據索引和處理能力

pandas中的主要數據對象是Series和DataFrame。

目錄:

  1. Series
  2. DataFrame
  3. 深入理解Series和DataFrame
  4. Pandas的IO操作
  5. DataFrame的Selecting和indexing
  6. Reindexing Series and DataFrame
  7. 關於NaN
  8. 多級index
  9. Mapping and Replace

No.1 Series

Series是一個一維的類似的數組對象,包含一個數組的數據(任何NumPy的數據類型)和一個與數組關聯的數據標籤,被叫做索引 。Seriers的互動式顯示的字元串表示形式是索引在左邊,值在右邊。它和python dict類型很像,基本一樣!就如下所述:Series是一個定長的,有序的字典,因為它把索引和值映射起來了。它可以適用於許多需要一個字典的函數。總結說就是,他像一個數組,你可以像數組那樣索引,他也想一個字典,你可以像字典那樣索引。

下面展示notebook中的series操作。

No.2 DataFrame

DataFrame 是一種二維的數據結構,非常接近於電子表格或者類似 mysql 資料庫的形式。它的豎行稱之為 columns,橫行跟前面的 Series 一樣,稱之為 index,也就是說可以通過 columns 和 index 來確定一個主句的位置。(有人把 DataFrame 翻譯為「數據框」,是不是還可以稱之為「筐」呢?向裡面裝數據嘛。)

下面開始notebook展示操作,先來看一個神奇的數據獲取方式,就是很普通的複製粘貼就可以獲取到網頁的數據。

首先引入需要的東西

然後就是關鍵了,以下代碼會自動打開這個link

然後選中下面的代碼排行,contrl C複製。

然後進入notebook

這樣就創建了一個dataframe,是不是有意思。

接下來就是基本操作了。

No.3 深入理解Series和DataFrame

首先準備好數據

對於series,首先取字典data裡面某一個key和其對應的values,並添加index

對於dataframe,首先直接把data轉換成dataframe

執行for循環輸出值,並且查看row的類型。

一個dataframe由多個series組成,那麼dataframe可以直接由series來創建。

Series與DataFrame對比。

No.4 Pandas的IO操作

首先讀取網頁裡面的一段內容

把數據寫出為csv文件

下面把dataframe轉換成json格式

把json轉換成格式

把dataframe轉換成html

然後再用瀏覽器打開html看看

把dataframe轉換成excel表格

No.5 DataFrame的Selecting和indexing

首先讀取進一個csv文件,這是拉鉤的五千多條職位數據,這裡注意一點,就是中文要記得encoding到gb2312,不然是讀不進來的。

然後取出頭5條數據

取出最後5條數據

任意讀取需要的列並且只讀任意10行數據

使用iloc方法讀取指定索引的列

使用loc方法讀取指定索引名稱的列,注意和iloc的區別

No.6 Reindexing Series and DataFrame

1、series reindex

首先創建series

reindex操作並且增加新的index且添加值

通過ffill增加新的值,1到5為a,5到8為b,8到15為c

2、DataFrame reindex

創建dataframe

reindex操作

刪除某一行某一列,axis=0表示刪除的是行,axis=1表示刪除的是列

No.7 關於NaN

NaN:Not a Number

和NaN做運算結果都為NaN

1、NaN in Series

2、NaN in DataFrmae

任意一行只要有NaN就drop

任意一列只要有NaN就drop

任意一行全部為NaN就drop

任意一行有NaN就drop

只要一行NaN超過2個就drop

為NaN填充指定value

No.8 多級index

1、Series

首先創建一個多級Series

對多級Series中的數據進行一些操作

把多級Series轉換成DataFrame

把dataframe轉換成series

2、DataFrame

創建多級DataFrame

對多級DataFrame進行一些操作

No.9 Mapping and Replace

通過map方法添加columns

首先演示一般方法,就是通過Series來添加dataframe的columns

這種方法在index為a,b,c的時候Series需要加上index,也就是我們需要關注index,這一點來講不如map方法

下面來看看replace

--------------------------------------------------------------------------

Pandas基本使用就到這裡了


推薦閱讀:

10min手寫(一):伺服器內存監控系統
為什麼 x in range(1000000000000001) 的執行速度這麼快
如何看待將Python代碼轉換成Go代碼並進一步編譯的 Grumpy 項目?
基於ArcGIS的python編程:2.python基礎(一)

TAG:数据分析 | Python | 编程 |