gpt4 book ai didi

python - 替换在另一个数据框中找到的一个数据框中的字符串的所有实例

转载 作者:行者123 更新时间:2023-12-04 08:38:17 25 4
gpt4 key购买 nike

我有一个看起来像这样的数据框:
enter image description here
我有另一个看起来像这样的数据框
enter image description here
我想要做的是查看第一个数据帧中是否有匹配项 resolution列与列resolution_sort如果有匹配项,我想用 match_sort 中的字符串替换该字符串的所有实例.
我知道一种蛮力的方法,但我想看看是否有人有一种更 Pythonic 的方法来做到这一点,而不是使用两个 for 循环来做到这一点。
我想注意的是,在第二个数据框中,我删除了分辨率排序列中的所有重复项,因此我们在那里都有唯一的值。下面是一些我认为效率不高的代码:

for x in first_df:
for y in second_df:
if x.loc['resolution'] == y.loc['resolution_sort']:
first_df.replace({x.loc['resolution']: y.loc['match_sort']}, regex=True)

最佳答案

正如评论者所提到的,如果没有要测试的样本数据很难,但我的解决方案是使用 .merge() 加入数据帧。然后组合列 match_sort 和resolution。

third_df = pd.merge(
first_df,
second_df[['resolution_sort', 'match_sort']],
how='left',
left_on='resolution',
right_on='resolution_sort',
)

third_df['combined'] = third_df['match_sort'].combine_first(third_df['resolution'])

关于python - 替换在另一个数据框中找到的一个数据框中的字符串的所有实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64686810/

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