python數據處理常用庫與函數


不全,碰到就加,給自己複習用,不然之前學過的,太久不用就忘了,又得重新學orz。

基礎

字典操作

字典排序

不論是按key排序,還是按values排序,都一條,比較好記
sorted字典的items()(迭代對象,是元組),排序完了再轉換回來

a = {'d': 1, 'c': 4, 'a': 2, 'b': 3}
b = dict(sorted(a.items(), key=lambda item: item[0]))  # 按key排序
c = dict(sorted(a.items(), key=lambda item: item[1]))  # 按values排序
print(sorted(a))  # 一般直接用字典名,都是指代key列表,等於dict.keys()
print(b, c, sep='\n')

#輸出
[‘a’, ‘b’, ‘c’, ‘d’]
{‘a’: 2, ‘b’: 3, ‘c’: 4, ‘d’: 1}
{‘d’: 1, ‘a’: 2, ‘b’: 3, ‘c’: 4}

字典拼合

a = {"d":1, "c":2}
b = {'c':3, 'a':4}
c = {"b":5, "c":6}
#合併字典,值以後面的爲準
d1 = {**a, **b}
d2 = {**b, **a}
d3 = {**a, **b, **c}
print(d1, d2, d3, sep='\n')

#輸出
{‘d’: 1, ‘c’: 3, ‘a’: 4}
{‘c’: 2, ‘a’: 4, ‘d’: 1}
{‘d’: 1, ‘c’: 6, ‘a’: 4, ‘b’: 5}

pandas

pandas文檔
https://pandas.pydata.org/pandas-docs/stable/index.html

pandas.concat() - 數據合併、重塑

可以和數據庫數據的拼接做類比

參數 說明
objs 想要連接的列表或字典,多個對象放在列表中作爲一個參數
axis 連接的軸方向。默認爲0(如果是二維數據,就是豎着的方向)
join 其他軸的索引按交集inner、並集outer進行合併。默認爲"outer"
join_axes 指明用於其他n-1條軸的索引,不執行交併運算
keys 與連接對象有關的值,用於形成連接軸向上的層次化索引,可以是列表、數組、元組數組、數組列表(需設置levels)
levels 指定用作層次化索引各個級別的索引(用於設置keys)
names 創建分層級別的名稱(用於設置keys、levels)
verify_integrity 檢查結果對象新軸上的重複情況,發現時引發異常。默認爲False(允許重複)
ignore_index 不保留連接軸上的索引,產生新索引range(total_length)

適用場景

  1. 得到一些訓練集和測試集,需要將他們拼成一個總集。此時頭部標籤是一樣的,只需要縱向拼接

data = pd.concat([train_data, test_data])

  1. 。。。

sklearn

sklearn.preprocessing.LabelEncoder()

LabelEncoder是一個類,包含4個方法

方法 說明
fit() 根據輸入形成一個字典
transform() 將輸入轉換爲索引
fir_transform() 先形成字典,再轉換爲索引
inverse_transform() 根據索引得到原始數據

將不規律的特徵值轉換爲索引來規範化取值

比如給一些性別特徵值,轉換成01

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章