讀取數(shù)據(jù),文件加載和存儲(chǔ)
讀取數(shù)據(jù)并創(chuàng)建名為data的數(shù)據(jù)表
data=pd.DataFrame(pd.read_csv('LDA_data.csv'))
沒有表頭
name=['id','gender']
user=pd.read_table('uer.dat',sep='::'【分隔符】,header=None【是否有表頭】, names=names【表頭名】)```
user是一個(gè)DataFrame
>其他部分見pandas部分
#測試代碼執(zhí)行時(shí)間
在語句前添加%timeit
#類的使用
#Numpy
ndarray 是一個(gè)具有矢量算數(shù)和復(fù)雜廣播能力的快速且節(jié)省空間的多維數(shù)組,
無需編寫循環(huán),快速運(yùn)算
用于讀寫磁盤數(shù)據(jù)的工具
線性代數(shù)和隨機(jī)數(shù)生產(chǎn)
np=np.array(data)
data可以是一切序列型的對象如列表,元素,字典
類型轉(zhuǎn)換:float_arr=arr.astype(np.float64
數(shù)組切片
【【1,2,3】,【4,5,6】】
用,隔開的索引列表來取單個(gè)元素【0,2】或【0】【2】=》3
多軸切片:【行切片,列切片】 a:b表示下標(biāo)從a到b, : 表示全部,a表示單一一行或一列
數(shù)組轉(zhuǎn)置arr.T進(jìn)行軸變換
計(jì)算矩陣內(nèi)積np.dot(arr.T,arr)
元素級(jí)數(shù)組函數(shù)
一元的函數(shù):abs:絕對值、sqrt平方根、exp、log/sin/cos
二元函數(shù):add,multiply兩個(gè)數(shù)組元素相乘,power兩個(gè)數(shù)組中元素對應(yīng)的A^B
PANDAS
from pandas import Series,DataFrame
Serise是一種類似于一維數(shù)組的對象,包括一組數(shù)據(jù)(Numpy中的數(shù)據(jù)類型)相關(guān)的數(shù)據(jù)標(biāo)簽構(gòu)成的索引(自動(dòng)或指定)分別是 .valuse 和 .index
可視為一種字典
Dataframe
data={'name':[]
'year}:['sfee','sfe']
frame=DataFrame(data)
參數(shù):DataFrme(data,columns=[ ],index=[ ])
取屬性:frame['屬性名’]
使用索引字段,取行:frame.ix['3']
取兩列:data=[['three','one']]
axis為簡約的周,DataFrame中的行用0,列用1
值計(jì)數(shù)value_counts 用于計(jì)算一個(gè)Series中各值出現(xiàn)的頻率
pandas中的數(shù)據(jù)加載,存儲(chǔ)和文件
分類:
-讀取文本文件,磁盤存儲(chǔ)格式
-加載數(shù)據(jù)庫中數(shù)據(jù)
-利用web api操作網(wǎng)絡(luò)資源
函數(shù):read_csv(默認(rèn)逗號(hào)為分隔)、read_table(默認(rèn)制表符為分隔)指定分隔:sep=','
函數(shù)參數(shù)分類:
-索引講一個(gè)或多個(gè)列當(dāng)做返回的DataFrame處理,以及是否從文件,用戶獲得列名
-類型數(shù)據(jù)轉(zhuǎn)換:自定義值轉(zhuǎn)換,缺失值標(biāo)記
-迭代:支持對大文件的逐塊迭代,
-不規(guī)整數(shù)據(jù):跳過行,頁腳,注釋
繪圖和可視化
引入:importmatpoltlib.pyplot as plt
其他補(bǔ)充
內(nèi)置序列函數(shù)
1、enumerate:在對一個(gè)序列迭代時(shí),常常需要跟蹤當(dāng)前想的索引。使用enumerate函數(shù),可以諸葛返回序列的(i,value)元組
eg:for i ,value in enumerate(collection):
其中i 即為索引標(biāo)
some_list=[.....]
mapping=dict((i,v)for i,v in enumerate(some_list))
將一個(gè)列表映射到一個(gè)字典中
字典
是Python中最終要的內(nèi)置數(shù)據(jù)結(jié)構(gòu),更常見的一個(gè)名字叫做哈希映射,是由鍵-值對構(gòu)成,
其中鍵值分別都是python對象。
使用dict函數(shù)直接處理二元元組列表,代替DIY出的循環(huán)
mapping = dict(zip (range(5),reversed(range(5)))
setdefault方法:默認(rèn)值