我有一个矩阵,其中行是一些项目号,列是一些名为score1、score2等特性的分数。我想创建三个新列,名为out1、out2和out3;其中out1、out2或out3的值为1(score1)、2(score2)或3(score3)。规则如下,请查看矩阵一个例子的图片,因为我还不能发布图片。的示例图
这是一个玩具矩阵
df = pd.DataFrame({'items':['item1', 'item2', 'item3', 'item4', 'item-n'],
'score0':[11,2,3,10,10],
'score1':[6,4,6,6,9],
'score2':[9,8,6,8,8],
'score-n':[3,0,2,6,2]})谢谢你的帮助
发布于 2020-03-25 20:37:11
堆叠溢出不是为了解决你的家庭作业问题,而是为了询问细节。无论如何,一个起点可以是删除"items“列并使用您自己编写的函数:
def my_max(arr1d):
return np.argmax(arr1d)
dfs = df.drop(["items"], axis=1)
col1 = dfs.apply(my_max, axis=1)这里只需将argmax替换为您自己的函数。
https://stackoverflow.com/questions/60856530
复制相似问题