1. 程式人生 > >Python_pandas 兩種主要的資料型別(Series、DataFrame)

Python_pandas 兩種主要的資料型別(Series、DataFrame)

因為是數學專業,最開始深入學習的是MATLAB(下面簡稱M),感受最深的就是M的簡單高效,高精度,不管什麼東西,統統放到陣列(或者說矩陣)裡面,天哪嚕,不可思議,和C語言、C++相比,這玩意就是個天生的資料實驗室利器。後來用M做了個GUI,在編譯成C風格的exe時花了大心血,才發現,原來這廝是個不折不扣的封閉症患者,和其他語言的友好指數基本為0。再後來涉及到版權問題,這才下定決心換個工具——Python。廢話少說,快快進入正題,直接上原始碼。

這裡就先上兩種資料型別的基本操作——增刪改查。

#-*-coding:GBK-*-
#Series和Dataframe
import pandas as pds
import numpy as np
#序列定義及index
s1=pds.Series([1,2,4,6,7,2])
s2=pds.Series([4,3,1,57,8],index=['a','b','c','d','e'])
obj1=s2.values;print(obj1)
obj2=s2.index;print(obj2)
print(s2[s2>4])
print(s2['b'])
<pre name="code" class="python">#資料框定義
a=pds.DataFrame(np.random.rand(4,5),index=list("ABCD"),columns=list('abcde'))
print(a)

#增加列或修改列
a['f']=[1,2,3,4]
a['e']=10
print(a)

#增加行或修改行
a.ix['D']=10
S=pds.DataFrame(np.random.rand(4,6),index=list("EFGH"),columns=list('abcdef'))
a=a.append(S)
print(a)

#切片
print(a[['b','e']])
print(a.iloc[2:,3:])
print(a.loc['A':'D',['a','c','f']])

#減少行或減少列
a=a.drop(['C','D'])
a=a.drop('a',axis=1)
print(a)
#缺失值處理
#缺失值替代
a.iloc[2,3]=None
a.iloc[4,0]=None
print(a)
a=a.fillna(5)
print(a)
#缺失值去行
a.iloc[2,3]=None
a.iloc[4,0]=None
a=a.dropna()
print(a)
#讀取excel,適當改動後,儲存到excel     (help(pandas.***)檢視相關幫助)
<span style="font-family: Arial, Helvetica, sans-serif;"></pre><pre name="code" class="python"><pre name="code" class="html">e1=pds.read_excel('test.xlsx',sheetname='Sheet1')</span>
e1.columns=['class','no','name','sex','dormitory','phonenumber']
print(e1)
print(e1.ix[2])
print(e1['class'])
print(e1.sex)


e2=pds.read_excel('test_copy.xlsx',sheetname='Sheet1',names='table1',header=None)
e2.columns=['a','b','c','d']
print(e2)
a=numpy.array(e2)#a=e2.values

e2['e']=pds.Series([0,-2,3,4],index=[1,3,4,5])
e2['f']=np.linspace(1,20,5)
e2['g']=e2['f']>=10
e2.ix[4]=[1,2,3,4,5,6,'False']
print(e2)
ss=e2.ix[4]
e2=e2.append(ss,ignore_index=False)
print(e2)
e2=e2.drop('a',axis=1)
e2=e2.drop(1)
print(e2)
e2=e2.fillna(value=5)
print(e2)

e2.to_excel('test_write.xlsx',header=False,index=False)

因為用的是Anaconda的庫,所以避免了安裝時的麻煩,但在安裝其他的包時出現了下載速度極其極其不友好時,發現了一個好辦法,就是採用清華的一個映像網站

開啟cmd,進入conda所在目錄下,增加來源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

再安裝相應的包就可以了,比如這裡應該安裝:

conda install pandas.

Game Over!