Pandas , series 與 Dataframe的創建


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
運行結果跟列表創建DATEFRAME統一

這里加一個字典創建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)

運行結果

 

其實都是基礎知識,沒整理,全給忘了

 

 


免責聲明!

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



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