我正在尝试一个类似这样的数据帧
user_name tag1 tag2 tag3 tag4
user1 .65 .32 .91 0
user2 .34 .44 .21 .56
user3 .21 0 0 .19
我需要对每一行的column值进行排序,得到每一行的最大值和递减值的结果列,还需要为特定用户删除值为0的列。输出应该像这样。你知道吗
user_name 0 1 2 3
user1 tag3 tag1 tag2
user2 tag4 tag2 tag1 tag3
user3 tag1 tag4
或者将其转置也会起作用。我需要用python2.7来做这个。非常感谢。你知道吗
您可以使用
list.sort()
函数。如果在列表中输入某个用户的所有标记,然后对列表进行排序,则应该会找到所需的结果如果将
0
值替换为NaN
,则可以apply
alambda
来屏蔽索引:我在这里使用
NaN
,而不是与0
进行比较,因为与浮点标量值进行比较是有问题的,可能不起作用:我使用
.values
返回一个np数组,因为否则将返回的序列将与原始列名对齐,因此不会发生排序此外,我还必须调用
to_series
对象上的Index
,因为您不能使用以下行来改变索引对象:val[mask] = ''
相关问题 更多 >
编程相关推荐