gpt4 book ai didi

regex - 如何将 map 与具有正则表达式键的字典一起使用?

转载 作者:行者123 更新时间:2023-12-04 18:55:23 25 4
gpt4 key购买 nike

我有一个带有要映射的变量的 DataFrame,使用的键不是“普通”字符串而是正则表达式的字典。

import pandas as pd
import re
df = pd.DataFrame({'cat': ['A1', 'A2', 'B1']})

我想做的是 df['cat'].map({'A\d': 'a', 'B1': 'b'}) ,但是 A\d似乎不被解释为正则表达式。在这个简单的 MWE 中,我可以做 df['cat'].map({'A1': 'a', 'A2': 'a', 'B1': 'b'}) ,但在现实世界中,正则表达式要复杂得多。而且字典要复杂得多,所以 the solution here (这需要添加开始和结束语句并在键周围应用 re.compile)是不可行的。

最佳答案

使用 replaceregex=Truemap需要一个可调用的。当您向它传递字典时,它会用 lambda x: your_dict.get(x, x) 替换字典。 .为了您的目的,replace是合适的。

df.replace({'A\d': 'a', 'B1': 'b'}, regex=True)

cat
0 a
1 a
2 b

关于regex - 如何将 map 与具有正则表达式键的字典一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58342692/

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