【发布时间】:2020-10-13 07:03:24
【问题描述】:
我正在尝试使用以下数据框在 Python pandas 中锻炼 countifs 函数。
import pandas as pd
df = pd.DataFrame({'var_1': ['B 1','B 2','B 3','B 4','B 5','B 6','B 7','B 4','B 8','B 1','B 3','B 9','B 7','B 6','B 4','B 2','B 4','B 4','B 3','B 7','B 7','B 7','B 9','B 4','B 3','B 1','B 2','B 4','B 4','B 2','B 1','B 3','B 9','B 4','B 2','B 4','B 9','B 1','B 10','B 4','B 3','B 8','B 4','B 3','B 2','B 1','B 4','B 7','B 4','B 3','B 1','B 2','B 8','B 11','B 4','B 2','B 7','B 4','B 7','B 3','B 1','B 4','B 9','B 1','B 3','B 4','B 2','B 4','B 2','B 3','B 1','B 4','B 4','B 7','B 4','B 2','B 8','B 1','B 3','B 6','B 2','B 4','B 5','B 1','B 4','B 7','B 4','B 2','B 1','B 4','B 2','B 8','B 9','B 4','B 2','B 3','B 1','B 4','B 12','B 1'],'var_2': ['B 1','B 2','B 3','B 4','B 5','B 6','B 7','B 4','B 8','B 1','B 3','B 9','B 7','B 6','B 4','B 2','B 4','B 4','B 3','B 7','B 7','B 7','B 9','B 4','B 3','B 1','B 2','B 4','B 4','B 2','B 1','B 3','B 9','B 4','B 2','B 4','B 9','B 1','B 10','B 4','B 3','B 8','B 4','B 3','B 2','B 1','B 4','B 7','B 4','B 3','B 1','B 2','B 8','B 11','B 4','B 2','B 7','B 4','B 7','B 3','B 6','B 4','B 9','B 6','B 3','B 4','B 2','B 4','B 2','B 3','B 6','B 4','B 4','B 7','B 4','B 2','B 8','B 1','B 3','B 6','B 2','B 4','B 5','B 1','B 4','B 7','B 4','B 2','B 1','B 4','B 2','B 8','B 9','B 4','B 2','B 3','B 1','B 4','B 12','B 1']})
- 假设我有两个变量,包含 100 个不同品牌的响应
- 我有 var 1 和 var 2 的不重复列表
- 我正在创建以下新列,
- 第 1 列 - 该品牌在多少行中有 var 1 但不在 var 2 中
- 第 2 列 - 该品牌在多少行中有 var 2 但不在 var 1 中
- 第 3 列 - 该品牌在多少行中有 var 1 AND ALSO var 2
- 第 4 列 - 总行数 - 第 1 列 + 第 2 列 + 第 3 列
我需要的输出格式是:
(前两行仅是条件。需要第 3 行的输出)
【问题讨论】:
-
到目前为止您遇到了什么问题?你的尝试在哪里
-
我用以下代码尝试了第 3 列 ```` df_test_1 = df[(df['var_1'] == df['var_2'])].groupby(['var_1']) .size().reset_index(name='column_3')````.
-
将其添加到您的问题中,我将删除我的反对票
标签: pandas if-statement group-by where-clause countif