回复贴:如何在一行中横向返回第一个和最后一个不等于零的列标题?

墨云轩
墨云轩

创作者俱乐部成员

有网友提问:如何在一行中横向返回第一个和最后一个不等于零的列标题?如下图:

问题诉求:比如毛巾,想知道第一个不等于零的数-501对应的列标题3月,最后一个不等于 零的数679对应的列标题7月,也就是黄框标记的数据。

思路:1.用fileter函数筛选出这一行所有不等于零的数的列标题

2.用index提取第一个和最后一个列标题

步骤:

第一步:筛选出这一行所有不等于零的数的列标题

第二步:提取第一不等于零的数的列标题

第三步:先用counta函数计算出不等于零的数的列标题的个数,然后用index函数提取最后一个不等于零的数的列标题。

至此,这个问题完成。

关于,这个问题,您有什么更好的方法,欢迎留言交流!

我是墨云轩,热衷分享办公小技巧,边学习,边分享,每天进步一点点!感谢您的阅读!

河北省
浏览 77
收藏
8
分享
8 +1
14
+1
全部评论 14
 
亂雲飛渡
学习
· 广东省
回复
 
墨云轩
墨云轩

创作者俱乐部成员

通过大家的交流,感觉最后提取第一个和最后一个,用take函数最简单啦
· 河北省
回复
 
丁功令
丁功令

创作者俱乐部成员

墨云轩老师,看下截图,可以参考一下
· 四川省
1
回复
墨云轩
墨云轩

创作者俱乐部成员

学习啦!
· 河北省
1
回复
 
wils
wils

创作者俱乐部成员

好办法 取最后一个是否可以用take(xxx,,-1)这样取,免得计数
· 广东省
2
回复
wils
wils

创作者俱乐部成员

因为一开始用numpy来思考,代码大概是 np.nonzero(arr)[0][0] np.nonzero(arr)[0][-1] 和公式的思路完全一样,只是在切片取值时方便一点,所以想到wps现在也支持take公式,index不妨改用take
· 海南省
回复