将字符串的一部分作为代码pandas/python执行



这是pandas-df列中的示例字符串值:

'Had {0} {1} in {2}.format(num_of_persons,type_of_person,date)'

我想提取从".format(("开始的代码部分,并在字符串中输入如下所示的值:

num_of_persons='20'
type_of_person ='patients'
date='2020-04'
text='Had {0} {1} in {2}'.format(num_of_persons,type_of_person,date)

我想在pandas-df列中提取并输出这样的内容:

'Had 20 patients in 2020-04'

我试着在"处拆分字符串但不确定如何将后半部分转换为代码,而不是将执行的字符串。

感谢提供的任何帮助

foo, bar = col.split(".")
exec(f"text  = '{foo}'.{bar}")

exec((用于在字符串中运行代码。

试用apply

df['out'] = df.apply(lambda x : 'Had {0} {1} in {2}'.format(x['c1'],x['c2'],x['c3']),axis=1)

最新更新