pandas to_dict() 将反斜杠转换为双反斜杠

时间:2021-04-14 14:43:49

标签: python pandas

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)

0 个答案:

没有答案