python - 在 pandas 中查找只有一个非零值的列
问题描述
首先让我注意到这个问题非常接近关于为 pandas 数据框中的每一列获取非零值的问题,但除了获取值之外,我还想知道它是从哪一行绘制的。(最终,我希望能够重新使用代码来查找非零值出现 x 次的列。)
我所拥有的是一个数据框,其中包含给定年份文档的字数:
|Year / Term | word1 | word2 | word3 | ... | wordn |
|------------|-------|-------|-------|-----|-------|
| 2001 | 23 | 0 | 0 | | 0 |
| 2002 | 0 | 0 | 12 | | 0 |
| 2003 | 0 | 42 | 34 | | 0 |
| year(n) | 0 | 0 | 0 | | 45 |
因此,word1
我想同时获得 23 和 2001 —— 这可以是元组或字典。(只要我能处理数据,这并不重要。)最终,我非常希望能够发现它word3
享受了两年的使用时间。
FTR,数据框只有 16 行,但它有很多很多列。如果这个问题已经有了答案,暴露了我搜索fu的弱点,我会以鄙视作为我应得的。
解决方案
在你的情况melt
下groupby
df.melt('Year / Term').loc[lambda x : x['value']!=0].groupby('variable')['value'].apply(tupl)
推荐阅读
- python-3.x - Python3 是否会在列表比较中短路?
- flutter - 需要在 Flutter App 中使用 Hasura 增加 30 天的试用期
- radix-sort - 如果给定一个包含 n 个数字的数组并且 m 是数组中的最大数字,我们如何为基数排序选择最有效的基数?
- java - 泛型方法返回类型也必须是泛型的?
- reactjs - 我可以使用 Strapi (Headless CMS) 进行用户管理吗?
- laravel - 在 Windows 上安装 Laravel Homestead
- c# - HttpContext.Session 包含一个环境中的键,但不包含另一个
- javascript - Lottie 播放器在用作 js 模块时不加载
- php - 无法创建/写入文件 MYSQL 到与 /var/tmp 不同的目录
- python - 异步收集异常处理程序不起作用