我有大的 Dataframe ,需要找到所有的元素小于40%的行设置为NaN,元素未排序,重复这一点的每一行。
我可以强制计算,但你可以想象这不是很有效,没有有效的方法来做吗?
40%表示行元素的阶为asc,并且将低阶的40%元素设置为nan,不包含本身是nan的元素。1,21,20,4,5,6,7,9,10,11
,则应将其排序为1,4,5,6,7,9,10,11,20,21
,并删除1,4,5,6
,最后成为nan,21,20,nan,nan,nan,7,9,10,11
。
到
NaN 21 20 NaN NaN NaN 7 9 10 11
1条答案
按热度按时间ne5o7dgx1#
使用
DataFrame.count
获取每行非缺失值的数量,然后通过双numpy.argsort
按排序值的位置进行比较,最后通过掩码设置缺失值: