如何判断一列是否为另一列的倍数?统计Sales列是Calls列倍数的记录数
判断一列是否为另一列的倍数并统计符合条件的记录数
下面针对Excel和Python Pandas两种常用工具,给出具体实现步骤:
Excel 操作步骤
1. 生成布尔判断列
在空白列(比如C列)的首行(对应数据起始行,如C2)输入公式:=MOD(A2,B2)=0
这里A2对应Sales列单元格,B2对应Calls列单元格。MOD函数计算两数相除的余数,余数为0时返回TRUE(表示是倍数),否则返回FALSE。下拉公式填充所有数据行即可得到每条记录的判断结果。
如果Calls列存在0值,避免报错可修改公式:=IF(B2=0, FALSE, MOD(A2,B2)=0)
2. 统计真/假结果数量
用COUNTIF函数统计对应结果的数量:
- 统计符合条件(TRUE)的记录数:
=COUNTIF(C:C,TRUE) - 统计不符合条件(FALSE)的记录数:
=COUNTIF(C:C,FALSE)
Python Pandas 操作步骤
1. 创建布尔判断列
先导入pandas并加载数据,然后新增一列存储判断结果:
import pandas as pd import numpy as np # 加载数据(示例数据,实际可替换为pd.read_csv等读取文件的方法) df = pd.DataFrame({ 'Sales': [8, 5, 6], 'Calls': [10, 3, 3] }) # 生成判断列,同时处理Calls为0的情况 df['Is_Multiple'] = np.where(df['Calls'] == 0, False, (df['Sales'] % df['Calls']) == 0)
2. 统计结果数量
用value_counts()直接统计布尔列中真/假的数量:
result_counts = df['Is_Multiple'].value_counts() print(result_counts)
运行后会输出类似如下结果,清晰展示两种结果的记录数:
False 2 True 1 Name: Is_Multiple, dtype: int64
内容的提问来源于stack exchange,提问作者lalo
相关产品推荐
相关产品推荐

