利用pandas映射替換兩個字典中的映射值


在公司處理報表,中英文映射表與數值表替換

import pandas as pd

data = {
    "a":"值一",
    "b":"值二",
    "c":"值三",
    "f":"值四"
}

data_map = {
    "a": 1,
    "b": 1,
    "c": 2,
    "d": 3
}


pd_1 = pd.DataFrame.from_dict(data,orient="index",columns=['value'])
pd_1 = pd_1.reset_index().rename(columns={"index":"key"})

pd_2 = pd.DataFrame.from_dict(data_map,orient="index",columns=['value_1'])
pd_2 = pd_2.reset_index().rename(columns={"index":"key"})

pd_3 = pd.merge(pd_1,pd_2,on="key",how="left")
# pd_3 = pd.concat([pd_1,pd_2],axis=1)
pd_3 = pd_3.drop(columns=["value"])
pd_3 = pd_3.fillna(0)

print(pd_3)

data_dict = {}

def map_dict(item):
    data_dict[item["key"]] = item["value_1"]

pd_3.apply(map_dict,axis=1)

print(data_dict)

'''
  key  value_1
0   a      1.0
1   b      1.0
2   c      2.0
3   f      0.0

{'a': 1.0, 'b': 1.0, 'c': 2.0, 'f': 0.0}

'''

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM