我有两列A&B.A包含用"_"分隔的文本值,B有一些与A.相关的描述
示例:
*Col Terms
AB_BCN_PRC About Bitcoin Price
AC_CR_STT Account credit Statement
A6_AT_MD Audi Automatic Model*
我需要映射A和B,所以将来如果A中出现新值,它应该自动框B
示例:
*A B
AB_CR_STT About credit Statement*
有什么想法或可能的方法来完成这项工作吗?
如果你能定义一个好的完整映射字典(每个名称用_分隔为一个键,这个名称代表的文本作为一个值(,它可以很容易地实现,最后我用panda组合成你的格式。在你的例子中,你也可以直接使用print,主要关注函数gen_terms,通过你提供的名称返回全文,您可以在此基础上根据所需的函数进行扩展(请确保传入名称中的每个项目(以_分隔(都是您在col_map中定义的项目(:
import pandas as pd
def gen_terms(col):
col_map = {
"AB": "About",
"BCN": "Bitcoin",
"PRC": "Price",
"AC": "Account",
"CR": "credit",
"STT": "Statement",
"A6": "Audi",
"AT": "Automatic",
"MD": "Model",
}
spans = col.split("_")
return " ".join([col_map.get(data) for data in spans])
name = "AB_CR_STT"
df = pd.DataFrame({"A": ["AB_CR_STT"], "B": [gen_terms("AB_CR_STT")]})
print(df)
# A B
# 0 AB_CR_STT About credit Statement