pandas数据帧列序列same_group
需要根据两个现有列row
和col
的值从布尔值创建。如果两个值在字典memberships
中具有相似的值(相交值),则该行需要显示True;否则,该行需要显示False(没有相交值)。使用pd.apply()
给出错误:
TypeError: ('checkGrouping() takes 2 positional arguments but 3 were given', 'occurred at index row')
cs = congruent.stack().to_frame()
cs.columns = ['score']
cs.reset_index(inplace=True)
cs.head(6)
def checkGrouping(row, col):
if row in memberships.keys() and col in memberships.keys():
return memberships[row].intersection(set(memberships[col]))
else:
return np.nan
cs['same_group'] = cs.apply(checkGrouping,args=(cs['row'], cs['col']))
看起来我是在给checkGrouping
提供参数,那么为什么我会得到这个错误,以及如何修复它?在
apply将沿着它迭代的列或行传递给您。因此,您的函数
checkGrouping
将接收该参数。所以正确的原型应该是:^{pr2}$
产生想要的结果
相关问题 更多 >
编程相关推荐