亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用文本替換特定列

用文本替換特定列

萬千封印 2023-06-27 16:07:56
我有 2 個文檔,一個包含特定數字,另一個文檔包含數字引用以及由管道分隔的該數字的定義。然而,第一個文檔有時包含多個數字,這意味著它比另一個文檔有更多的列,而另一個文檔只有 2 個。我嘗試將它與“on”參數合并,通過“for 循環”更改列名稱"并在每次迭代后再次保存合并的文檔。問題是它刪除了沒有指定列數的行。有限制_n1-16 等列。def merge_res(number, last_iter=None):    res_n = f"restrict_n{number}"    res_d = f"restrict_d{number}"    if number == 1:        restrict_desc_csv = pd.read_csv(            RESTRICTION_DESC,            sep="|",            delimiter="|",            header=None,            names=["restrict_n1", "restrict_d1",],            dtype=object,        )        merge = restrict_csv.merge(restrict_desc_csv, on="restrict_n1")    else:        restrict_desc_csv = pd.read_csv(            RESTRICTION_DESC,            sep="|",            delimiter="|",            header=None,            names=[res_n, res_d],            dtype=object,        )        merge = last_iter.merge(restrict_desc_csv, on=res_n)    return mergelast_iter = merge_res(1)for i in range(2, 15):    last_iter = merge_res(i, last_iter)
查看完整描述

1 回答

?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

我不會給出完整的代碼,因為編寫起來并不難。只需按照您在問題中所描述的方式編寫,只需指定參數 how (即pandas.DataFrame.merge)。默認情況下inner會導致丟失行,因為它僅合并兩個數據幀中都存在的行。根據您對問題的描述,您需要進行設置how='left'



查看完整回答
反對 回復 2023-06-27
  • 1 回答
  • 0 關注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號