我正在尝试在下面的“父”列和“子”列列表中的每个元素上运行几段代码。我的目标结果在“ resultsX ”列中:
第一个代码(显示在 results1 列中)片段只需要两个字符串并获取每个字符串中的唯一字符总数:
>>> len(set('max' + 'andi'))
>>> 6
第二段代码(显示在 results2 列中)计算两个字符串中相同位置的字符数:
>>> sum(1 if c1 == c2 else 0 for c1, c2 in zip('maxwell', ' axwell'))
>>> 6
我想在“parent”列和“children”列中的每个元素上运行这两段代码,分别获取“ results1 和 results2”列中的内容:
parent children results1 results2
0 MAX ['MAX', 'amx', 'akd'] [('MAX',3),('amx',3),('akd',5)] [('MAX',3),('amx',0),('akd',0)]
1 Sam ['Sam','sammy','samsam'] [('Sam',3),('sammy',4), ('samsam',3)] [('Sam',3),('sammy',3), ('samsam',3)]
2 Larry ['lar','lair','larrylamo'] [('lar',4),('lair',5), ('larrylamo',6)] [('lar',3),('lair',3), ('larrylamo',5)]
我在下面尝试过这段代码,但运行时出现错误:
def total_chars(reference, value_list):
chars = []
for val in value_list:
totalChars = len(set(reference + val))
chars.append(val, reference)
return totalChars
df.agg(lambda x: total_chars(df.parent,df.children), axis=1)
>>> ValueError: operands could not be broadcast together with shapes (10000,) (4,)
有任何想法吗?
慕容森
湖上湖
相关分类