Data Processing Using Python 3
- 創建字典的三種方法:
-
python
aInfo = {'Wangdachui': 3000, 'Niuyun':2000, 'Linling':4500, 'Tianqi':8000}
info = [('Wangdachui',3000), ('Niuyun',2000), ('Linling',4500), ('Tianqi',8000)]
bInfo = dict(info) -
python
cInfo=dict([['Wangdachui',3000], ['Niuyun',2000], ['Linling',4500], ['Tianqi',8000]]) -
python
#創建員工信息表時將所有員工工資默認值設定爲3000
aDict = {}.fromkeys(('Wangdachui', 'Niuyun', 'Linling', 'Tianqi'),3000)
-
- 已經有姓名列表和工資表,如何生成字典類型的員工信息表:
-
python
names = ['Wangdachui', 'Niuyun', 'Linling', 'Tianqi']
salaries = [3000, 2000, 4500, 8000]
dict(zip(names,salaries))
-
- 字典的使用
-
python
aInfo['Niuyun']#鍵值查找
aInfo['Niuyun']=9999#aInfo裏面的值存在的則是進行更新,不存在的則是進行添加
'Mayun' in aInfo#成員判斷,返回的值是true or false
del aInfo['Fuyun']#刪除字典成員
len()#計算字典內建的長度
hash()#計算字典內的進行不同的判斷
aInfo.clear()
copy()
fromkeys()
get()
items()
keys()
pop()
setdefault()
update()
values()
-
- 集合
-
python
set('XX')#可變集合
frozenset('XX')#不可變集合
重點記憶部分數學運算符合:其他部分與大部分其他語言的編碼一致
集合內建函數數學符合 python 屬於 in 不屬於 not in 面向所有集合 面向可變集合 s.issubset(t) update(i) issuperset(t) intersection_update(t) union(t) difference_update(t) intersection(t) symmetric_difference_update(t) difference(t) add(obj) symmetric_difference(t) remove(obj) copy() discard(obj) pop();clear()
-
- 擴展庫SCIPY
-
python
#python原有數據結構的變化
ndarray(N維數組)
Series(變長字典)
DataFrame(數據框)
Numpy--強大的ndarray對象和ufunc函數,無縫對接數據庫
scipy--基於Numpy的數據計算工具和圖像處理軟件
Matplotlib--二維繪圖庫
pandas--切片和讀寫多種文件格式功能
-
- NDArray
• 用list和tuple等數據結構表示數組- 一維數組 list = [1,2,3,4]
- 二維數組 list = [[1,2,3],[4,5,6],[7,8,9]]
• array模塊 - 通過array函數創建數組, array.array("B", range(5))
- 提供append、 insert和read等方法
– 維度( dimensions)稱爲軸
( axes),軸的個數稱爲秩( rank)
– 基本屬性
• ndarray.ndim(秩)
• ndarray.shape(維度)
• ndarray.size(元素總個數)
• ndarray.dtype(元素類型)
• ndarray.itemsize(元素字節大小)
常用函數例子
dot 矩陣內積 linalg.det 行列式 linalg.inv 逆矩陣 linalg.solve 多元一次方程組求根 linalg.eig 求特徵值和特徵向量 sum mean :----: :-----: std var min max argmin argmax cumsum cumprod - SERIES
• 基本特徵- 類似一維數組的對象
- 由數據和索引組成
- DATAFRAME
• 基本特徵- 一個表格型的數據結構
- 含有一組有序的列(類似於index)
- 大致可看成共享同一個index的Series集合
-
python
data = {'name': ['Wangdachui', 'Linling', 'Niuyun'], 'pay': [4000, 5000, 6000]}
frame = pd.DataFrame(data)
-