【问题标题】:pandas - column that counts the number of true in a series of other columnspandas - 计算一系列其他列中的 true 数量的列
【发布时间】:2020-04-03 00:27:34
【问题描述】:

我有一个描述工作场所是否有工具的数据框。它有一个简单的真/假来描述工具是否存在。不幸的是,工具名称不是标准化的,但我确实有它们的列表。

数据框如下所示:

+-------+---------+-------+-------+-------+-------+
| Index |  County | State | JDKFK | YSAFQ | MDFKN |
+-------+----_----+-------+-------+-------+-------+
|     0 | '001'   | '05'  | TRUE  | TRUE  | TRUE  |
|     1 | '030'   | '05'  | FALSE | TRUE  | FALSE |
|     2 | '005'   | '05'  | TRUE  | TRUE  | FALSE |
+-------+---------+-------+-------+-------+-------+

使用我的列表,我如何生成一个新列,其中指定列的总和为 TRUE?

cols = ['JDKFK ', 'YSAFQ ', 'MDFKN ']

+-------+--------+-------+-------+-------+-------+----------+
| Index | County | State | JDKFK | YSAFQ | MDFKN | Tool_Sum |
+-------+--------+-------+-------+-------+-------+----------+
|     0 | '01'   | '05'  | TRUE  | TRUE  | TRUE  |        3 |
|     1 | '01'   | '05'  | FALSE | TRUE  | FALSE |        1 |
|     2 | '01'   | '05'  | TRUE  | TRUE  | FALSE |        2 |
+-------+--------+-------+-------+-------+-------+----------+

Count occurrences of False or True in a column in pandas 没有回答我的问题,因为该帖子定义了如何在单列(垂直)中计算真/假,而我的问题是如何在多列(水平)中计算真/假。

【问题讨论】:

标签: python pandas


【解决方案1】:

你可以使用sum:

df['tool_sum'] = df[['JDKFK', 'YSAFQ', 'MDFKN']].sum(1)
print(df)

输出

   Index County State  JDKFK  YSAFQ  MDFKN  tool_sum
0      0   '01'  '05'   True   True   True         3
1      1   '01'  '05'  False   True  False         1
2      2   '01'  '05'   True   True  False         2

sum(1) 表示将在第二个轴上求和(即1,因为它从0 开始计数)。跨列求和的另一种方式。

【讨论】:

  • 你能解释一下 sum() 中的 1 吗?
猜你喜欢
  • 2020-11-16
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
  • 2019-01-03
  • 1970-01-01
  • 2017-02-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多