gpt4 book ai didi

python - 是否有一种优雅的方法将别名映射到连接的数据文件中的真实实体名称?

转载 作者:行者123 更新时间:2023-12-04 07:29:06 24 4
gpt4 key购买 nike

我有一个包含连接数据的大 csv 文件,例如:

Source,Target
a,token
b,token2
c,token3
d,j
e,k
f,l
token,g
token2,h
token3,i
文件的结构是混合的,所以关系所在的行
a,token
b,token2
c,token3
不识别网络图中的特定关系,而是定义实体 a、b 和 c 映射到的别名。
在文件的其余部分,我有标准关系 (d,j; e,k; f,l) 以及实体的真实名称被其别名替换的关系:
token,g
token2,h
token3,i
目前,我正在使用丑陋的“for”循环遍历文件,这样我就能够以所需的方式映射关系并获得:
a,g
b,h
c,i
但这不是一种优雅的方式,也许对我的 CPU 来说很重。
是否有任何内置函数(可能在 Pandas 中)或一些优雅而快速的方法(几行代码)来映射 Python 中所需的文件?

最佳答案

data = [
['a', 'token'],
['b', 'token2'],
['c', 'token3'],
['d', 'j'],
['e', 'k'],
['f', 'l'],
['token', 'g'],
['token2', 'h'],
['token3', 'i']
]
df = pd.DataFrame(data, columns=['Source', 'Target'])
source_to_target = {row.Source: row.Target for row in df.itertuples()}
df.loc[:, 'AliasedTarget'] = df.loc[:, 'Target'].apply(lambda x: source_to_target.get(x, x))
print(df.head())

Source Target AliasedTarget
0 a token g
1 b token2 h
2 c token3 i
3 d j j
4 e k k

关于python - 是否有一种优雅的方法将别名映射到连接的数据文件中的真实实体名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68047818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com