我对此有一些严重的麻烦!假设我有一个如下所示的pandas数据框:
Name LeftString RightString
nameA AATCGCTGCG TGCTGCTGCTT
nameB GTCGTGBAGB BTGHTAGCGTB
nameC ABCTHJKLAA BFTCHHFCTSH
....
我有一个函数,将以下内容作为参数:
def localAlign(minAlignment, names, string1, string2):
# do something great
在我的函数中,minAlignment是一个整数,名称,string1和string2是该函数用作列表对象的数据框列。
然后,我稍后再调用该函数:
left1_2_compare = localAlign(12, df['Name'], df['LeftString'], df['RightString'])
我的函数运行没有问题,但是12作为硬编码值或sys参数传入,但是我希望它是一个df ['LeftString']长度为60%的变量。
因此,我对此进行的尝试是传递一个将int返回给函数参数的计算:
left1_2_compare = localAlign((int(len(df['LeftString'])*0.6)),
df['Name'], df['LeftString'],
df['RightString'])
有趣的是,代码不会失败或返回错误,只是不会为该值输出任何内容(此部分的输出文件为空白)。其余的数据很好。
我们看到df是在调用函数之前定义的,是否有一种方法可以使用row1 ... rown中的字符串长度作为函数的输入整数,而无需在函数内部定义它?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句