我有一个JSON文件数据。下面是一个例子
[{
"Type": "Fruit",
"Names": "Apple;Orange;Papaya"
}, {
"Type": "Veggie",
"Names": "Cucumber;Spinach;Tomato"
}]
我必须阅读名称,并将名称中的每一项与另一个df中的一列进行匹配。 我一直在把Names键的值转换成一个可以在模式中使用的列表。我试过的密码是
df1 = pd.DataFrame(data)
PriList=df1['Names'].str.split(";", n = 1, expand = True)
Pripat = '|'.join(r"\b{}\b".format(x) for x in PriList)
df['Match'] = df['MasterList'].str.findall('('+ Pripat + ')').str.join(', ')
问题出在普里帕特身上。它的内容是
\bApple, Orange\b
如果我把名字列在下面
Prilist=['Apple','Orange','Papaya']
代码运行良好
请帮忙
您需要调用
str.split
,然后使用itertools.chain
将结果展平首先,做
现在
还有
stack
(速度较慢):相关问题 更多 >
编程相关推荐