import json
import pandas as pd
data = {'Product':['Product 2.1.4', 'Product 2.1.5'],
'Version':['2.1.4', '2.1.5']
}
df = pd.DataFrame(data)
df['regex_value'] = '^.*' + df['Version'] + '[\s-]*$'
di = pd.Series(df.Product.values,index=df.regex_value).to_dict()
print("Printing data frame: \n", df)
print("\nPrinting dictionary: \n",di)
输出显示pandas数据帧中只有1个反斜杠,但转换为字典后有2个反斜杠。如何防止这种情况或如何将字典中的 2 个反斜杠改回 1 个反斜杠?
Printing data frame:
Product Version regex_value
0 Product 2.1.4 2.1.4 ^.*2.1.4[\s-]*$
1 Product 2.1.5 2.1.5 ^.*2.1.5[\s-]*$
Printing dictionary:
{'^.*2.1.4[\\s-]*$': 'Product 2.1.4', '^.*2.1.5[\\s-]*$': 'Product 2.1.5'}
我在另一个 Pandas 数据框中使用带有正则表达式的字典来替换值,但它不能正常使用 2 个反斜杠。
df1['new_version'] = df1['old_version'].replace(di,regex=True)