【问题标题】:How to add to a count based on column values pandas如何根据列值 pandas 添加到计数
【发布时间】:2020-12-03 19:00:40
【问题描述】:

我有一个单行的 pandas 数据框,我想创建一个函数,该函数将根据列中的值添加到三个不同的计数。单行示例(字母为列名):

| a | b | c | d | e | f | g | h | i |
-------------------------------------
| 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 |

比如我想让函数说如果a列的值为1,count1+=1,如果b列的值为0,count2+=1,如果c列的值为1,count1 +=1 等等... 我尝试遍历列,但不断收到错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

【问题讨论】:

  • 你能提供你的数据集吗?
  • 很难真的帮助您清楚地描述您的需求并向我们展示您已经尝试过的代码

标签: python pandas


【解决方案1】:

你可以这样做:

if frame['a'][0] == 1:
    count1 += 1
elif ...

假设您的框架位于名为“框架”的变量中,并且您可以硬编码列和正确计数变量之间的关系。因为 'a' 和 'c' 都对应于 count1,看起来你不能依赖简单的迭代抽象。

【讨论】:

  • 这行得通,正是我想要的,我只需要使用所有“if”语句而不是 elif,因为计数/列都是相互独立的,非常感谢!
猜你喜欢
  • 2021-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-23
  • 2017-04-22
  • 1970-01-01
  • 2021-07-22
相关资源
最近更新 更多