pandas學習 Task05合併

2021-10-05 15:58:42 字數 1089 閱讀 7127

【問題二】 merge_ordered和merge_asof的作用是什麼?和merge是什麼關係?

merge_ordered 根據官方說明, 適用與帶時間序列的資料, 自帶ffill bfill 引數, 可以方便填充

merge_asof 模糊匹配版的merge

【問題三】 請構造乙個多級索引與多級索引合併的例子,嘗試使用不同的合併函式。

【問題四】 上文提到了連線的笛卡爾積,那麼當連線方式變化時(inner/outer/left/right),這種笛卡爾積規則會相應變化嗎?請構造相應例子。

對於笛卡爾積部分, left, inner, outer等價, 與right 不同, 區別在於排序上.對於前面三種, 相當於是先對 右鍊錶進行排序, 再對左鍊錶進行排序. 而right 則反之.

習題2:

第一題:

第一反應就是用merge來解決

pd.merge(emp[『name』], emp2[『name』], on = 『name』, how = 『inner』)[『name』].unique()

第二問用merge + indicator

name_list = pd.merge(emp[『name』], emp2[『name』], on = 『name』, how = 『outer』, indicator = 『ind』)

name_list = name_list[name_list[『ind』] != 『both』]

得到了沒有重複的name list 後

分別對兩張表做 merge, how = inner , 然後再concat…有點笨

第二題:

學習答案中第一題的思路, 用isin解決

spec_list = [『學科基礎課』,『專業必修課』,『專業選修課』]

c1_spce = c1[c1[『課程類別』].isin(spec_list)]

c1_non_spce = c1[~c1[『課程類別』].isin(spec_list)]

hum…當然, 這裡用merge+indicator也可以實現, 只是有點囉嗦

然後concat

第二種先concat再 篩選

最後一問複習了 transform 的用法

Task05 基於pandas綜合練習

問題 1 請刪除最後一列為缺失值的行,並求所有在杭州發貨的商品單價均值。2 商品標題帶有 嘉興 但發貨地卻不在嘉興的商品有多少條記錄?3 請按照分位數將 分為 高 較高 中 較低 低 5 個類別,再將 類別結果插入到標題一列之後,最後對類別列進行降序排序。4 付款人數一欄有缺失值嗎?若有則請利用上一...

TASK05結構陣列

結構陣列與單元陣列的轉換 單元陣列的處理 實戰演練 總結思考 a.b c a為結構陣列名,b為欄位名,c為此欄位的內容 如果使用結構陣列函式建立,則書寫格式為 array name struct field1 val1,field2 val2,array name為結構陣列名,field為欄位名,v...

深度強化學習task05

如果環境中的 reward 非常 sparse,reinforcement learning 的問題就會變得非常的困難,但是人類可以在非常 sparse 的 reward 上面去學習。我們的人生通常多數的時候,我們就只是活在那裡,都沒有得到什麼 reward 或是 penalty。但是,人還是可以採...