《利用Python進行數據分析》學習筆記 Pandas基礎

前言

pandas以NumPy爲核心,使用下面這樣的pandas引入約定

import pandas as pd
from pandas import Series DataFrame

Pandas的數據結構介紹

Series

obj = Series([4,-5,1,7])
obj
obj.values
obj.index

默認分配索引爲從0開始的整數,當然也可以手動賦予索引值。

obj2 = Series([4,-5,1,7],index=['d','b','a','c'])
obj2
obj2['d']

與NumPy相比,Series可以通過索引訪問一個元素的值。另外,NumPy中的數值運算都會保存索引和值之間對應的關係。可以將其視爲一個字典,應用在各種需要字典的場合。
如果數據被存儲在一個字典中,則可直接將該字典轉爲Series。

sdata = {'l':100,'w':300,'c':700}
obj3 = Series(sdata)
k=['l','w']
obj4 = Series(sdata,index=k)
obj4

對於很多應用而言,Series最重要的是自動對齊索引相關的數據運算。
Series本身及其index有一個name屬性,該屬性在與pandas其他功能相配合時非常關鍵。

obj4.name = 'population'
obj4.index.name = 'hh'

Series中obj4的索引可以根據需要進行就地修改。

obj.index = ['a','b','c','d']

DataFrame

DataFrame是一個表格形的數據結構,它含有一組有序的列,每一列可以是不同的值類型。DataFrame既有行索引又有列索引,可以看成由Series組成的字典(共用一個索引),面向行和麪向列的操作基本上是平衡的。數據是以一個或多個二維塊存放的。
構建方法:

data = {'name':['w','x','l','z'],
       'year':[24,12,50,48],
       'where':['h','l','l','l']}
frame = DataFrame(data)
frame.year
frame['name']

同樣,在構建時,可以傳入index值進行索引值的替換
新增和刪除一列,如果需要對上,那就指定索引index吧。

frame['easten']=frame.year==24
frame
del frame['easten']
frame

在這裏插入圖片描述
其他屬性與Series類似。

索引對象

構建Series或者DataFrame時,所用到的任何數組或其他序列的標籤轉換爲Index。
Index對象是不可修改的,不可修改是非常重要的,它可以在多個數據間安全共享。
在這裏插入圖片描述
在這裏插入圖片描述

基本功能

重新索引

一個重要的方法是reindx,其作用是創建一個適應新索引的新對象。

obj = Series([1,2,3,4],index=['a','s','d','f'])
obj
obj2 = obj.reindex(['q','w','s','r'],fill_value=0)
obj2

在這裏插入圖片描述
在這裏插入圖片描述

丟掉指定軸上的項

new=obj2.drop('q')
new

需要注意的是,Series上切片的方法是末端包含的。

算術運算和數據對齊

默認情況下,索引數據在不重合出引入NA

obj3 = Series([1,2,3,4],index=['k','s','d','f'])
oo = obj+obj3
oo

對於DataFrame,返回的索引爲相加兩個DataFrame索引的並集。
在這裏插入圖片描述
填充數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章