Pandas
Pandas 可以說是人見人愛。如果說 Nympy 還有些陽春白雪的話,那么 Pandas 就更接地氣!
通過帶有標簽的列和索引,Pandas 使我們可以以一種所有人都能理解的方式來處理數據。它可以讓我們毫不費力地從諸如 csv 類型的文件中導入數據。我們可以用它快速地對數據進行復雜的轉換和過濾等操作。
在學習Pandas之前,我們先開啟Python絕佳的瀏覽器學習模式, Jupyter Notebook 。首先進入 Anaconda 的命令行模式,然后在命令行下輸入以下指令:
activate study
jupyter notebook
Series & DataFrame
Series
這個可以理解成一維
import numpy as np import pandas as pd from pandas import Series, DataFrame import datetime s1 = pd.Series([1, 3, 5, np.nan, 50, 0]) print(s1)
運行結果
Series 的表現形式為:索引在左邊,值在右邊。由於我們沒有為數據指定索引。於是會自動創建一個0到N-1(N為長度)的整數型索引。
其中NaN是缺省值的意思,這里np.nan是獨特的用法,就跟下邊np.pi就是π一個意思
還可以通過字典的方式創建序列,字典的鍵自動成為 Series 的索引。
print(np.pi)
d1 = {'a': 10, 'b': np.nan, 'c': 30, 'd': 0, 'e': np.pi} s2 = pd.Series(d1) print(s2)
運行結果
DataFrame
這個理解成二維
創建一個DataFrame
a = np.array([[1, 3, 5, 7], [2, 4, 6, 8], [0, 0, 0, 0]]) rows = ['row1', 'row2', 'row3'] cols = ['one', 'two', 'three', 'four'] df1 = pd.DataFrame(a, index=rows, columns=cols) print(df1) # 練習,通過字典創建一個和上述 df1 一樣的 DataFrame # 提示, 通過字典構造 DataFrame 時,其形式是 DataFrame(dict)
運行結果
習題答案
d1={'row1':[1,3,5,7],'row2':[2,4,6,8],'row':[0,0,0,0]} df = pd.DataFrame(d1,index=cols) print(df)
運行結果
看到這個結果我是崩潰的,可能不是特別熟練,這個也是好幾個星期之前學的,沒練,咬着牙改成下邊這樣,但是這么寫肯定不對
d1={'one':[1,2,0],'two':[3,4,0],'three':[5,6,0],'four':[7,8,0]} df = pd.DataFrame(d1,index=rows) print(df)
運行結果

one two three four row1 1 3 5 7 row2 2 4 6 8 row3 0 0 0 0
這里加一個字典創建DataFrame的實例
data = {'state':['Ohino','Ohino','Ohino','Nevada','Nevada'], 'year':[2000,2001,2002,2001,2002], 'pop':[1.5,1.7,3.6,2.4,2.9]} df = DataFrame(data,index=['one','two','three','four','five'], columns=['year','state','pop','debt']) print(df)
運行結果
先到這
別到這了,找到字典構造的方法了
data = {'data':[[1,3,5,7],[2,4,6,8],[0,0,0,0]], 'rows':['row1', 'row2', 'row3'], 'cols': ['one', 'two', 'three', 'four']} df3 = DataFrame(data['data'],index=['row1', 'row2', 'row3'], columns=['one', 'two', 'three', 'four']) print(df3)
運行結果
完美!
又找到方法了
d1={'row1':[1,3,5,7],'row2':[2,4,6,8],'row':[0,0,0,0]}
df = pd.DataFrame(d1,index=['one', 'two', 'three', 'four'])
print(df.T)
運行結果
其實都是基礎知識,沒整理,全給忘了